I am building a new freelance site for Service Buyers and Service Providers. Will it be better to keep them as two distinct groups or simply allow different permissions to individuals in one group? It seems logical to me to have one group since they are all my customers and Service Buyers can be Service Providers and Service Providers can also be Service Buyers if the project they receive from a Service Buyer (after winning the bid) is a large project or an ongoing project that requires more than one Service Provider, in which case the winner of the bid would then hire other Service Providers thereby becoming a Service Buyer. This also falls in line with my other goal to allow the formation of groups within the Service Provider group, which would allow them to cover more ground (site-search-wise). In addition, clients who are looking for someone to manage a large or ongoing project may want to simply give it to a group rather than searching for several editors/writers themselves thus saving them the trouble of managing the project.
My point with all of the above is that the line between SBs and SPs is not as clear as it once was. If we keep them separate, it would mean the SPs and SBs would have to have two accounts under two different email addresses in order to accomplish the above. I think that would probably eliminate the probability of that occurring all together as it would mean the users would need to manage two accounts which is forcing them to do something they are reluctant to do and therefore probably will not.
In addition, there will also be "Language Managers" (LMs) screened and solicited from our SPs, whose job it will be to manage projects in their language. I plan to move into projects in other languages using speakers of those languages. To do the work on these projects for me in other languages, I will need SPs who are speakers (and do not necessarily speak English) AND LMs who speak that language AND speak English as these LMs will manage these projects while in communication with the SP assigned to the project and in some cases in direct communication with the client who may only speak that language. In addition, the LM will need to communicate with the Admin of the site in English.
So, the dividing lines between Admin and SP and SB become even fuzzier as these LMs (Language Managers) will also be in the "Admin" group. I really don't want to force them to use a third email address.
The main point I am trying to make is that I think in the long run it will be much easier to manage all of these groups simply by building the proper permissions into the site from the beginning. For example, we might have ten different levels of membership (or permission). Each level would provide certain permissions on the site so that a user with permissions at levels 1, 2, & 5 might be a 1-SB, 2-SP, 5-LM. (Service Buyer, Service Provider, Language Manager) with all the relevant permissions. This is the way I am thinking will best serve my users so that there really is no distinction between them except for their levels of permissions on the site.

The problem is that I am not a programmer and I am not sure what the hurdles are that we will need to jump over. So far, people have simply rejected the idea as not workable and tell me I should keep them separate. They don’t offer any help about the issues I describe above that I think would discourage SPs and SBs from creating two accounts. Perhaps there are even some impossibilities in the way I am thinking, but I do not know enough about it to foresee them. Any thoughts or help you might offer is greatly appreciated.

On another related issue, I am running into, if I have two separate groups (plus the Admin “group”) do I need to have separate databases for each group? What if they are all one group? What about for other things like message storage, profile storage, or project info, uploaded documents etc. etc. Do these all need to be in one DB or do we keep things separated? (I would prefer having everything in one DB but that is from my very narrow perspective so your advice is appreciated. Can I use just one DB for all the information gathered/created on the site? Should I?
Finally, I have run into a few issues as far as the database(s) is/are concerned. I want to use local SP profiles on the front page of every local domain, (CCTLDs such as http://SPs&SBs.cn (fictional site of course)) but it is my understanding that it is difficult to use a single database across several domains even if the CCTLD sites are hosted on the same server as the main .com site. So I am wondering how we can do this. I certainly don't want to use a different database for each site as we would then run into the problem of having to import the info from all of those DBs into the main DB on a regular basis so that the local SPs are displayed on the main site as well (at URLs such as SBs&SPs.com/fr/ (for French)).
One idea is to have only billboard type sites at the CCTLDs and send all users who arrive at those sites to the main site (in their language) when they register or create a new project etc. But without a local database, I would not be able to display the local SP profiles on the front page of each CCTLD.
I suppose we could write a script that would allow us to do this in either of the following ways:

1) A script would update the local DB once a day (or whatever is reasonable) with information gathered from new registrants in that language on the main site. The local sites would not be interactive except to send users to the main site for any interactive tasks like registering or creating a new project. All sites are presently on the same server so that might be easy.

2) Use a script to take info from the main site database to be displayed on the local sites. This would mean we would not need a local DB for every site. However, using "iFrames" to do this might not work due to security issues and I am sure a host of other problems I have no knowledge of, but maybe there is other technology to do this differently?

I am open to all feedback and truly appreciate any help you might offer.