I crossposted this on StackOverflow and got a solution from user patrik. Thought I'd share it here in case anyone else comes looking. Turns out using surf with view(2) still preserves the z-axis. So I just plotted the connecting line with 'ZData' at 2^16, guaranteed larger than any of my plot values. Works splendidly.
"Ok, I am not sure this solves the problem, but it likely will. The thing with 2D view: This is only another perspective of the plot. The data will still have 3D coordinates. I am not entirely sure, but if I recall correctly, ginput gives the coordinates in xy. This means that if you want to display a line above the surf plot you need to set its z-coordinate to larger than maximum surf value."