Since you're already using a PIC, it would be easy enough to add an encoder to the motor and use it to keep track of the position.