You could try the shrinkwrap modifier. Here I have two icospheres with different number of subdivisions. I add the shrinkwrap modifier to the one with more vertices and set the one with fewer vertices as the target and the mode set to Nearest surface point:
Then I click
Apply as shapekey, and here's the result:
I experimented a little with the different modes of the modifier. Viewing the results in edit mode shows the difference.
Nearest surface point:
The project mode has a multitude of options, so I'm not posting any pictures of it, as it would make this answer too long. Instead I quote The Blender Wiki on the shrinkwrap modifier
This will project vertices along a chosen axis until they touch the shrink target. Vertices that never touch the shrink target are left in their original position. This implies that, depending on the settings of this option and the relative positions of the two objects, the modified object might sometimes remain undeformed. This is not a bug; just “play” with the settings (especially the Negative/Positive ones), or move one of the objects around...
This method is the hardest to master, as it might sometimes give unexpected results...