How do I add high detail to smooth surface?
I'm familiar with two approaches that support 3D printed output: Subdivision with a height map or sculpting with dynamic topology.

With a height map, you'd need to subdivide the appropriate faces then apply a map you've prepared to define the raised areas on those faces. This might be attractive if you prefer working with bitmaps, but it introduces some inefficiency because you need to subdivide a lot to get certain details just right. Here's some information on using height maps in Blender: http://johnflower.org/tutorial/make-mountains-blender-height-maps

Sculpting with dynamic topology might be more efficient in this case because it adds vertices only where they're needed. Here's a video that introduces sculpting with dynamic topology (he talks about and demonstrates why dynamic topology is important for the first four minutes and then he gets into it): https://www.youtube.com/watch?v=opsKPCCFbr4

Of course you could also hybridize between these options: start with the height map at some moderate level of subdivision, apply it, then switch to sculpting with dynamic topology to add detail.