The way I've done it is to create a model for each body part, (I'm only supporting 4, head, body, legs and accessory). the model names are all stored in an array and simply use arrows to cycle through these and morph the current display model to match it.
The only thing I then need to store is the id of the model and the RGB code that's on each item, that's saved into a file and the entity is created from that.
This doesn't save it all into one model but still 4 seperate models for each avatar.