Wow, but it needs a lot of art. You could use inner divs and ajax to update the avatar directly without reloading the page. You will need custom CSS classes for each character to situate correctly the elements. The rest it's very simple.
I am also looking for something like this, but don't know where to start. So if you could help me a bit, I would appreciate it. You don't have to give me code or anything, but at least having an idea of what I need to do (in some detail) should be enough for me to try.
Gaia uses a PHP based system. Basically they have thousands of images of items, and when you click the "items" it will add the particular image to your avatar, and when you save it outputs it as a PNG image.
I'd first suggest reading up and learning about PHP + GD.
Baby steps, a system like Gaia's is immensly complex. Don't forget that you'll also have to draw all items in all poses seperately. You can't just take them offline.
The first stage is create an avatar and try to change only one attribute, then you could create a complete options menu and a complete avatar.
You could try to replace a element div with another, replace an image wih another, using a link and onclick event, calling a function with the methods mentioned above.
Then you could learn to use ajax to replace a complete avatar set.
Definately alot of work. Keep daniweb updated with how you going and if you need any help.
Oh and the above comment is true however by using the URL for this amount of elements it will become very large very quickly. I would recomend using AJAX, if you dont know how to go about it just post a topic on here, someone will be able to help.
The URL's for the images would probably be smaller, as for now, my plan is (if I can afford the space and bandwidth for it) to save each user's avatar, and just overwrite its contents each time they update. The file names for the images could be the users' unique ID's. Not sure about this yet, but it seems like a plan. I only need to make sure that I'm ready for something like that. :P