Yeah, one encoder on one wheel is kind of like God giving you two legs, but making one of them numb all the time. One encoder will give you purely distance readings. The problem with one "assymetric" encoder is that if the robot veers/turns, it will affect your readings (one wheel travels less or more during turns).
If you use one encoder, it's better to stick it on a single passive wheel centered somwhere on the midline between the two powered wheels. That way, if the robot veers or turns, your distance readings are still accurate. Bottom line- you want your encoder arrangement to be symmetric so they are not affected by turns. So one one encoder in the center, or two either side of the centerline is fine. But one on a single side is not.
Do what you want though, it may be the case that the encoder is designed just for that motor and must stay with it and you don't want to buy a second encoder for the other motor (plus there is only one Timer0 pin to work with so you can't use that method with two encoders). You could use the tricycle formation though. This would allow the use of one motor-mounted encoder, but would require a steering servo.
Don't use the interrupt. Use Timer0. It's should be more straightforward and take less code plus it won't bog down your processor with interrupts since (I assume) it's designed to run in the background. As opposed to interrupts which will continually interrupt your program flow. Also, if for some reason your PIC is clocked ultra slow and the wheels are spinning ultra fast (or the encoder outputs many many ticks per revolution), you might actually miss ticks...which build up onto the already attrocious odometric error from wheel slip.