Hey Roeland,
This is possible to set up in Odoo but the route you take depends on quite a few factors. Once you turn on the setting to let users sign up themselves this applies to Businesses and Consumers and Odoo will not be able to distinguish between the two groups on its own. You will need some sort of way to help Odoo do this whether through a check box or another log in page you customize for this.
Both approaches puts the onus on the user who is signing up to select the right path which leaves you with less control as you cannot prevent a consumer from signing up as a business.
If you want stricter control on this it will require manually inviting businesses to access your shop with specific access rights and letting your consumers sign up on their own.
From there you'll need to modify the access rights of the regular, or "B2C", portal users from accessing the specific shop page(s). It is important to note that modifying user access rights is not always as straight forward as one might hope depending on what level of access you want to see.
Depending on your work flow and other requirements there are a few ways to approach this. For this reason I recommend consulting an Odoo consultant or Partner.
Hope this helps put you in the right direciton.