- Is there a way they can toggle between those two communities?
Yes.
For Lightning Communities, you can use App Launcher to let users toggle between Communities they are member of.
Display the App Launcher in Lightning communities to make it easy for members to move between their communities and their Salesforce org.
For Salesforce Tabs + VF page communities, you can Enable the Global Header for Communities.
In Salesforce Tabs + Visualforce communities and Salesforce Classic, the global header lets you switch between your communities and your Salesforce org.
- Also, each community has different tabs that appear based on the profile and permission sets. I am trying to figure out how the self-registration would work too. Once they sign up, what profile they will be assigned in order to access the both communities and their tabs accordingly?
Community Users are associated to an Account. Once Users register themselves, they are associated with a Contact associated to that Account. During registration you determine which profile they should be assigned to. This profile should have the necessary access required for the User to be able to view different objects, tabs. All these permissions will be applicable for the Users on all those communities wherever these objects, tabs are available and they have access to.
As to how you can provide Users access to a Community or multiple Communities, you will need to add the Profile/Permission Set as Members in the Community. Only when you add the profile as member, Users get access to a particular community.
Here are few links which will provide you with more details around these topics: