How do I link vertices between two objects? I know I can link objects by using parent-child relationships, but is there a way to link elements from meshes in two different objects, particularly vertices? 

The situation is that I'm working on a terrain object for a game, and I want to separate out the roads for special treatment later on. So created two grid mesh objects, removed all of the faces from each, and I want to use one for the general terrain, and the other for the roads. The grid mesh with the terrain will not duplicate the grid mesh for the roads, and vice versa, except right at the boundary between the two. 

I'd like to be able to have the elevation of the corresponding vertex of the road mesh move when I edit the elevation of a vertex in the terrain mesh. That is, in this image, 

I want b1 to move when I move a1, and a4 to move when I move b4, even though a1 and a4 are in one object, and b1 and b4 are in another. Is there a way to do this, or am I asking too much?
On the bottom grid apply a Shrinkwrap modifier in Project mode and select the upper grid as the target object.



The two meshes will connect. Move the offset value on the modifier so the vertices go back to their original position.

Now when you move the vertices on the top grid the corresponding vertices on the bottom will follow.