definitely sounds possible, at least with C++. I’m using a similar approach to drive our AI in Space Dust Racers.
With the inbuilt UE4 SplineComponent, you can find the closest point on a spline to any world point. See USplineComponent::SplineInfo->InaccurateFindNearest(…).
Similarly, if you specify a time or a distance along the spline component, you can get the location and forward vector at any point along the spline, not just the keys. See:
USplineComponent::GetWorldLocationAtDistanceAlongSpline()
USplineComponent::GetWorldDirectionAtDistanceAlongSpline()
USplineComponent::GetWorldLocationAtTime()
USplineComponent::GetWorldDirectionAtTime()