I've been thinking about how to do proper city lights for a planet. The best source of inspiration for this kind of work is to look at a photo of earth (or Celestia, for a 3d light source and rotateable earth with city lights). You can see that cities tend to be densest near coastlines and then cluster sporadically throughout inland areas. And yes, there are visible "road strings" but only really noticeable at low altitudes and along major thoroughfares.
How to simulate this with a shader model? Well, I think a good starting point is to use a density map based on coastlines, and Perlin ridges does seem like the best idea to get the road effects, although it might be worthwhile to consider a seperate shader for that. Also, when seen through the atmosphere, city lights tend to be whiter. Aerial photos show city lights as yellowish. The whitening from orbit is caused by the yellow being washed out by the atmosphere. It's a similar effect that causes red stars and mars to look pale when seen from earth-bound telescopes.