MightySites can allow all sites to share certain database tables, all users tables should be shared in your case: all slave sites will load users tables from database of master site, hence all users/usergroups/user-usergroup relations will be always same across all sites, no matter where you register/create/update/delete a user, all sites are affected because same database tables are used.

Special single login is possible (once user logs on site A - the login requests are also sent to sites B,C etc.), session sharing is only possible if you use single master site and all slaves are its subdomains.

Requirements: all sites should use same MySQL server and MySQL users of slave sites should have access to database of master site (full privileges).

Note that user-related images like avatars will not be shared unless all sites use same files (not your case) or you setup symlinks for all images folders on slave sites to same 'master' folders on master site.

All components should use native Joomla database layer JFactory::getDbo().

Sharing of messaging system like UddeIM is possible if it uses native database layer (I guess it does). Images will not be shared - same case as with user images.

Note that all user-related tables should be shared as well: e.g. most of Community Builder tables. We can't suggest exact tables list, your developer should understand which tables will be shared.