Hi Shawn,
As far as I can see you have two options, software and hardware.
Use a timer interrupt (or poll the interrupt flag) to abort the wait loop OR use a software "timer" to abort the wait loop. If you, for whatever reason, don't want to increment a variable (software "timer") inside your waitloop then the only option left is hardware. I see no reason why you can't use TMR1 if you want to, just reset it when the trigger comes.

I've never used the capture module though so I may be missing something.

/Henrik.