Question... can the CB system do this?
Most likely, yes. CB Privacy can be used to limit who can access a users profile. The privacy values can be forced by a moderator or the user can control the privacy themselves. As for 3 groups I assume you mean 3 usergroups which CB of course supports usergroups. You could even change their usergroup based off a field value (e.g. maybe a profile type field) using CB Auto Actions.
As for subscriptions you'll need CB Paid Subscriptions, which you could use in combination with CB Auto Actions based off subscription state change to alter usergroups, fields, profile privacy, and much more.
There maybe issues regarding limiting contact as at this time the private messaging built into CB does not have access controls so anyone can message anyone, but we've plans to add access controls so you could design who can create messages or set it so they can only contact users they are connected to.
Note this would be a complex setup. So if you're new to CB in general it maybe difficult to initially setup.
What add ons would be needed?
Seams like you'd need at least CB Privacy, CB Auto Actions, and CB Paid Subscriptions.
Do you offer a customisation service?
No.