Restrict user to access only one topic

I think they the group /category scheme you suggest will work. A custom plugin might automate the process of adding vendors.

You would need a custom plugin to hide profiles only from some users.