Just to clarify:
If the switch goes low before the motor has rotated for the full time, you want it to stop and reverse back to its starting point?
What happens if the switch goes high again before it has reached the starting point?
The motor is unlikely to be completely consistent about how far it travels in a given time (especially if you are stopping and reversing it). How concerned are you with the exact position of the motor?