How can I make one surface follow the form of another?
I would recommend using a UV Texture, there is a tutorial here and the blender manual here.  If you want to bend an object around another, you will need to use the shrinkwrap modifier, although you will need a good about of vertices.  You can use a subdivision surface modifier set to simple to add more vertexes and then apply the shrinkwrap modifier to the object that you want to bend and set the Target to what you want it to bend around.



If you want them to only slightly bend and not be directly on the surface, you can use the cast modifier.  The process is the same, just with the other modifier.