Hi Barry,
Lets take it one step at the time and see what we get.

The '684 has three timers, TMR0, TMR1 and TMR2. Since you're using the ECCP module to generate PWM (thru the HPWM command) it occupies TMR2 so we can't use that for anything else. That leaves us TMR0 and TMR1.

Looking at the datasheet sections for TMR0 and TMR1 we can see that they both can be configured as either a timer or as counter so we just need to decide which to use as our counter. TMR0 is only 8 bits so if we're going to use that as our counter we need to make sure to not overflow it. If you have 100 counts per revolution and 2500rpm we're getting 4167 counts per second. If we were to run the PID loop at 10Hz we'd get 416 counts between updates which clearly overflows the 8bit counter, we'd need to either lower the input frequency or increase the update rate - you get the idea.

Looking at the datasheet section for TMR0 we can see that it's controlled thru the 6 lower bits in OPTION_REG. All we really need to do to set up as a counter is to set the T0CS bit (OPTION_REG.5 = 1). Now TMR0 will count the pulses comming in on the T0CKI pin (pin 11).
Code:
TRISA.2 = 1		' Make TOCKI input
OPTION_REG.0 = 0	' Prescaler 1:1
OPTION_REG.1 = 0
OPTION_REG.2 = 0
OPTION_REG.3 = 1	' Precaler assigned to WDT
OPTION_REG.4 = 0	' Increment in low-to-high transition
OPTION_REG.5 = 1	' Clock on T0CKI-pin
OPTION_REG.6 = 0
OPTION_REG.7 = 1
At this point all you need to do is to read the count out of the TMR0 register:
Code:
newCount VAR BYTE
newCount = 0
Main:
  newCount = TMR0 - newCount
  DEBUG "TMR0 count: ", #TMR0, 13
  DEBUG "Count since last time: ", #newCount, 13, 13
  Pause 1000
Goto Main
Try this and/or a variation of it to see if you can get TMR0 to count the pulses in your application.

One final note, the idea with the incPID routine was for it be INCLUDEd in a program, like yours. There's nothing wrong with copy/pasting it like you've done but it may distract the view from your actual application.

/Henrik.