There were several attempts to emulate structs in Mathematica. Emphasis on *emulate*, since AFAIK there is no built - in support for it yet. One reason for that may be that structs are inherently mutable, while idiomatic Mathematica gravitates towards immutability. You may  find these discussions interesting:

[Struct-data-type-in-mathematica][1]

[Object-oriented-mathematica-programming][2]

[Question-on-setting-up-a-struct-in-mathematica-safely][3]

[Mathematica-oo-system-or-alternatives][4]

My own take on it is in this answer:

[Tree-data-structure-in-mathematica][5]

where I describe one possible emulation of structs, which I use every now and then when I need something like a struct (this is, of course, a personal preference. There are many ways to do this). It looks to be somewhat similar to your method. For a recent use case where I put similar approach to heavy use and where it *really pays off* (because structs are not the bottleneck there), see [this answer][6], where I use this as an encapsulation mechanism for file-backed lists.

That said, a built-in support for mutable structures would be, I think, very desirable. Three major reasons I could think of, why various emulation approaches did not really take off:

 - Performance. Structs are the work-horse of data structures, and their performance is critical. OTOH, all emulations which are to be general, are bound to use the top-level code, and that is slow.
 - Garbage collection. The available ways to create encapsulated mutable state almost always involve creating definitions for symbols, and those definitions are frequently not automatically amenable to garbage collection
 - (The lack of) standardization. If there were a single emulation which would accumulate a significant code base, tools and practices of using it, that may have been different. 


  [1]: http://stackoverflow.com/questions/1453006/struct-data-type-in-mathematica
  [2]: http://stackoverflow.com/questions/7363253/object-oriented-mathematica-programming
  [3]: http://stackoverflow.com/questions/7356691/question-on-setting-up-a-struct-in-mathematica-safely
  [4]: http://stackoverflow.com/questions/6446297/mathematica-oo-system-or-alternatives
  [5]: http://stackoverflow.com/questions/6097071/tree-data-structure-in-mathematica/6097444#6097444
  [6]: https://mathematica.stackexchange.com/questions/36/file-backed-lists-variables-for-handling-large-data/209#209