It would still work with that part (I think). I normally run this on a TMR0 interrupt (in an 18F part). You could make the speed interrupt a low priority interrupt, and let the SSPWM be high priority. That way, the speed interrupt wouldn't screw up your PWM.

You could get by with 8 bit counters (ex fan1counter in my example) in your application. I used a 16 bit counter because I often need to measure the speed of
15,000 RPM fans.