Can I snap to the center (midpoint) of an edge?
Using the snap to function it's quite easy.

In edit mode select the edge you want to align to, then press ShiftS and select cursor to selected. The 3D cursor will be placed in the middle of your selected edge.

Back in object mode select your second mesh and do ShiftS and select selection to cursor your object will then move to where the cursor is.

From there you can move the 2nd mesh using GY so it only moves on the Y axis.