First you have to have a conversion factor worked out for pulses per distance unit, feet in your case. Sounds like seconds is the time unit for rate.
Set up a relatively high priority periodic task to monitor your high-speed counts. The task rate (ms) will be dependent on the precision and update rate necessary for your application. The other thing to consider is the RPI of your VHSC. If I had an RPI of 5ms on my VHSC then I would set my task rate of no lower than 10s.
If precision is REALLY important then first thing inside your periodic task, GSV the WallClockTime. Use the last register, which is microseconds and rolls over at 1,000,000 to get a truly accurate time delta in microseconds. Multiply this delta time by 0.000001 to get the delta time in seconds. You will need to include some rollover logic on the microseconds from GSV. If it's not that crucial, then just assume the periodic rate is perfect and use a fixed-rate value task rate * 0.001.
Next thing is to get a distance delta by subtracting last count from current count, again checking for rollover (based on how you set encoder channel up).
Divide position delta by your pulse/foot factor to get delta in feet. Finally divide footage delta by delta time seconds to get FPS.
Using your pulse/foot factor with current encoder count makes position calculation easy.