One database sounds much easier. It's probably easier to have users sign up first and then figure out what type of user they are. Although it wouldn't be that hard to first determine what type of user they are and then use a custom registration form (http://web2py.com/books/default/chapter/29/7#Custom-forms) and then an auth.settings.register_onaccept callback function to update the rest of the database (http://web2py.com/books/default/chapter/29/9#Settings-and-messages).
--

