If the incoming points are indeed represented as a vector then you have to touch every single one of them, or else you wouldn't be able to tell if it is within radius distance. But, you might be able to speed up your computation if you have control over the data structure used to represent your point set.
For the sake of simplicity, let's assume the task was really to determine which points are are close to a single point
p, i.e., the distance to
p should be at most
r (the radius). Then if your set of points was not represented as a vector but as, e.g., a quadtree then you would be able to narrow down your search space with logarithmic cost. Since you say that the points are randomly distributed in the 2D plane, you would expect this to speed up your search noticably.
The same argument could be applied if your actual task is not finding points that are close to a single point
p but to all points on a path. Here, instead of having to iterate over all points of the path, you might be able to save on processing time if the path points come in a similar datastructure (quadtree) that allows you to basically to collapse a bunch of points to a single quad.