Here goes this planet material I created with experimental displacement and material nodes. Blend file includes planet with some mountains, continents, and city lights in continents. (lights are not very well visible during day, so check the other image to see them) Then you also need to have this separate object that has clouds.
The node setup might be little hard to follow, but I grouped it, so you can generate new planets just by editing the values from mapping node. Current version of Blender the displacement does not update when you edit the values of mapping, so the mountains seems to be in wrong places. You just need to go in object mode and then back to preview mode and it works again. :) Displacement can be removed from the scene just by un connecting it from material output.
You probably want to add some more detailed textures to it, if you want to use it in very close up renders.
In that big group there is also a color ramp node where you can edit the colors of water, continents etc. Have fun!