I can't give you an official answer, but I wanted to answer *something*. I don't think the <include> mechanism itself would have a limit, as it's just inserting your library text into the game. The only thing to be aware of is that it does track symbols, to know which library a function/object/whatever is in (e.g. if you change the filter on the bottom left to show library elements). I suppose it could cause a slowdown in the editor in such a case. I can't imagine it crashing or hitting a limit.
I can understand your desire to have a separate file for each character. I did the same myself.

Just be sure you don't set a <parent> attribute on an character or object in one of the library files. Otherwise, when you save your game, Quest will pull a duplicate definition up into your main game file, which will then make it unloadable until you manually correct it. (Yes, I have run into this.) If you need to set parent rooms for your characters, do it in script.
Also note that you can include libraries inside libraries. I had a main Characters.aslx library that then included all of the character aslx library files.