Make two path_track entities for start and end positions. Name them (for example) pt1 and pt2. Next stop for pt1 is pt2 and for pt2, next stop is pt1. Same as HL1.
Make a brush, tie it to func_tracktrain with first stop of (for example) pt1, and name it (for example) elev1. You may want to set flags like "No controls" and "No x-rot."
For each of the path_tracks, add an output "OnPass" with target of elev1 to "Stop"
Create a button with an output "OnPressed", target elev1 to "Start Forward", flags = Don't Move and Use Activates.
Pressing the button should start the train (elevator) at pt1. It will stop at pt2. Press it again and it will move to pt1 and stop.
You'll have to mess with the Orientation selections in the path_tracks. No change is probably what you want.