While I am still a newbie here, I believe I've earned my chops in the real-time arena, where I do this "city building" every day.
Here are a few things to keep in mind. First, develop around a unit. This can be a dimension, but it's better for plugging different objects together if there is a common dimension. At work we use 660 feet as a unit; modules must be some multiple of this base unit. We plug different modules together to make cities. Someone here said at sometime that 660' is a city block, but I don't buy that. It is a minimum dimension for putting a nice 4-way intersection in though. You can categorize your modules as has been mentioned for different building grammars (ie, look and feel) but random mixing will not really work without some general conventions for the different floors/styles.
Some of our categories here at work include:
rural, freeway, urban, generic, filler, panorama..
Do a little work up front if you are serious about having multiple people work on this, as in specifications. Figure out how you want the roads: 2 lane, 4 lane, 4 lane with center turn lane, etc. Figure out if there will be different classes of roads - 2 lane (new) versus 2 lane (old). Publish these specs and the pieces should all play nicely together. You may even want to develop some guidelines in terms of amount of splineage per unit.
Check out http://www.vterrain.org/
for more info re: buildings, etc. - they have an existing virtual world project going, and you can drop in and check out how others have approached this.
Good luck, keep us posted!