This would be possible to do by doing a Join on the users, alts, and whois tables. Bebot hyborian is at some point going to have to re-think how it stores member data. In AO there was XML and the whois info was only a cache. Now getting any level and class info requires that toon to be in the cache. I'm thinking the best way to get this is to modify the Roster and Whois core/modules to store the toon data in the user table and have that info updated on login and when the xml is parsed. It would be merge friendly and would probably eliminate the need for the whois-cache, but allow us to keep it around until we update all the modules accordingly.
Thoughts?