Multiple types of user accounts with different roles

I am woking on a multisite project with four sites to start with: an information site with listings, a marketplace (classifieds), community (BuddyPress) and shop. I would like to have two different types of users: business and personal. When signing up for the sites the users should be able to choose what type of account they want. The community should be for only the personal accounts, so no business users should be able to write in the forums. Their profiles should also not be searchable (or maybe not even visible).

So, my question is: is this even doable? Are there any plugins that can give my sites this functionality, or maybe a combination of plugins?