Native Shopify roles-based features are a bit limited at the moment, but you can probably use the liquid customer object to hide pricing related information from certain products in your single product page template and eventually also in collection template.
Customer object also support Tags so you can manually tag your “PRO” customers manually after approval process.
You would need to enable the access with login only first, and then create customer groups and tag them for category. You would probably also need to display different menu to public and special customer.
This will be my first use of Shopify so I will need to do some trial and error with your suggestions - but some questions if you don’t mind.
Will the public need to login as well as professionals? This would be a distinct obstacle
The way they have things at the moment (on a niche accounting package integration that is being withdrawn) is public access for everyone with limited visibility. Then only one customer group for professionals who can see everything.
When you talk about customisation are you talking about coding changes - or just making specific selections in the set up.