I'm really no expert in this area, but it is my opinion that it would be possible. The file replacement code (to my knowledge) uses names returned from the fst.bin to know what files to load. We can have up to 50 character slots. Each of these slots has an index in RAM. If we could generate names with the index of a character slot + whatever identifier would be needed (00, 01, Motion, Entry, etc) Then we could have one character for all 50 slots.
Naturally this would be a pain to manage manually because all files would just be named as numbers. However, a character manager program could at least somewhat make it tolerable. I could be way off with this, but from what I've seen it could be done. I can't say whether or not someone will ever actually take the time do this or any of the other possible solutions, as it would be quite a big project, but I maintain that it at least possible in theory.
I may be way off with this, so if any of you experienced RAM hackers see some major flaw or think I'm just crazy, well then let me know. But yeah, that's where I stand based on what I know.
EDIT: Wow, I worded that horribly.