I have several Drupal databases and core sites currently. What I want to have is several Drupal databases that share a common users database under one core site source. The reason I want this is so that I can restore a sites database from any date I choose without rolling back the other sites content as well. I have looked into prefixing but it sounds like all sites have to be under the same database, the same seems to be true of domain access.
Instead of using table prefixes, you can use a reference to another database as a prefix. For example,
core database holds the shared users / permissions,
drupal_website database is your actual website.
$databases['default']['default'] = array( 'driver' => 'mysql', 'database' => 'drupal_website', 'username' => 'db_username', 'password' => 'db_password, 'host' => 'ip_db_server', 'prefix' => array( 'default' => '', 'users' => 'core.', 'users_roles' => 'core.', 'sessions' => 'core.', 'role' => 'core.', 'role_permission' => 'core.', 'authmap' => 'core.', ), );
Minor drawback, your database needs to be stored on the same mysql server and each database uses the same credentials (username / password) for the connection.
If you install multiple Drupal instances inside the same database you will need to use a different prefix for each different Drupal site, so as far as I understand you cannot share the users table between them. And trying to sync that table yourself doesn't sound like a proper solution.
And as you say, using Drupal as a multi-site CMS alonside the Domain Access module is only possible for one single Drupal installation, in a single shared database.
If you need different Drupal sites installed in different databases, you could achieve what you want managing the user authentication outside Drupal. There are some Drupal modules already there, for example the Lightweight Directory Access Protocol (LDAP) module; or you could create your own authentication module, which is something not very difficult.
Try CAS module. Read the files README.txt and README_SERVER.txt for instructions on how to install and configure it.