Rather than store XRecords directly off the NOD, I create several nested Extension Dictionaries to keep things organized. Also, XRecords *can* store multiple values each, based on your needs. For example, I store some layer information as a name (string), an AutoCAD color (Color), a linetype name (string), a freeze state (integer-coded boolean), and a number of other settings all in a single XRecord. I would suggest reading the DXF documentation when assigning values to XRecords - its a little more revealing about which values are used, where, and why.
Management is quite simple - establish a standard method of how you read and write the information, then call the appropriate interface. Its pretty much the same process used regardless of how custom information is implemented.