Since the axis does not directly have a callback, use the 'WindowButtonDownFcn' on the UIFigure instead. You can use the 'CurrentPoint' property to fetch the location of the cursor and move the line to that particular position by updating the 'XData' or 'YData' based on the requirement.
Attached is a sample application that uses a sine wave and a green horizontal line. The green horizontal line divides the sine wave into two parts, the red part(above the green line) and the blue part(below the green line). Once you move the green line, the red and blue parts are updated accordingly.