Align vertices with another vertex, but vertices must stay on their edges I want to align vertices along the z-axis to be in line with another vertex.  I know about S-Z-0 and pivoting around the active point, which aligns the vertices but deforms the edges these vertices are currently on.  Like when pressing GG, the vertices slide along their edges, but I also want to align them to be at the same Z position as some other vertex.

 



The first image is the object, and the second is the side view.  I want to align the highlighted vertices with the row below (same Z value), but I want the selected vertices to slide along their edges.

I could align the vertices by sight using GG, but is there a more precise way of snapping the vertices into place?

Thanks..
There isn't a simple way. You can move the vertices on the z-axis and use snapping to align them to the other verts, unfortunately snapping does not work while using edge slide.

To get the result you are after -


Select the four corners of the part you want to align to
Press &#8679; ShiftDESC which will duplicate the vertices and leave them in the same location.
Press F to make a face from these vertices
Scale S this face so that it is larger than the outer edges
Choose Mesh->Faces->Intersect (Boolean)
Now select your top vertices and edge slide GG, you can move them right down - against the new vertices that are cut in the edges in line with the inner section.
Now select all A then w->remove doubles, 
Select and delete the extra bits left behind. I got an extra 2 faces under the section that is now flat, I deleted the two extra edges and dissolved the two vertices to end up with the desired mesh.