You should be able to run a SQL statement using the PostGIS function ST_LineLocatePointST_LineLocatePoint to select the relative distance along the route. You will need a single route, a filter for the max distance from the route, and an order by clause.
This is untested, but should get you started:
Select points.pointID
from points,
rountes
where rountes.routeID = :routeid
and ST_Intersects(points.pointShape, ST_Buffer(route.rounteShape, 50000))
order by ST_LineLocatePoint(route.rounteShape, points.pointShape);
You could filter by ST_Distance(points.pointShape, route.routeShape) <= 50000, but I'm not sure if that is going to use the spatial index.