Always a difficult one this, making an editor is always the best (if not most desireable) option. I recently messed about with semi random city generation ideas, to test out the new Dark Imposters addon. Here is a snippet how I made a quick cityscape.
set current bitmap 1
for y=0 to 64
for x=0 to 64
colour=point(x,y)
if rgbr(colour)=255 and rgbg(colour)=255 and rgbb(colour)=0
building=FIND FREE OBJECT (100,1000000)
clone object building,rnd(26),1
position object building,x*50,0,y*50
inc objectcount
endif
NEXT x
NEXT y
set current bitmap 0
That uses a 64x64 pixel bitmap to place objects down according to the colour it encounters. So if it sees red, it will place down a random building at the appropriate place on the 3D map, any other colour it ignores and moves on. You could add in different colours for different buildings if you don't want random generation of course. I use bitmap 1 for the map image so the point command gets the colour off that screen, not the 3d screen it is updating.
You could make boxes rather than loading objects in as well and set a random scale to them, which was the first thing I did before changing it to the above code, so I could use more detailed objects.
That's a quick way to get a test scene up and running anyway. You can get a feel for how many objects you can get away with on screen and such quite quickly. Simply by adding a few more red lines or dots to the image, or increasing it to 128x128 etc.
http://s6.bitefight.org/c.php?uid=103081