It think you can accomplish this in your model as follows:
- Make Route Layer - configure it to find the best order (rather than using input order) but to preserve both the first and last stops. That way the first and last one will remain first and last, but the middle ones will reorder for the optimized route. See ArcGIS Help (10.2, 10.2.1, and 10.2.2)
- Add Locations 1 - your user's first selected stop (the starting point)
- Add Locations 2 - all the intermediate stops that you already know
- Add Locations 3 - your user's second selected stop (the end stop)
- Solve