If you find MOSFETs confusing you may wish to use an H-Bridge IC. The SN754410 is a full H-bridge in a DIP package. I have successfuly used this chip to drive two motors forwards and backwards on a small robot. Heat dissipation has not been an issue. The operation of this chip is extremely easy to understand and the inputs can be driven directly from the PIC.
If you would prefer to put your own H-bridge together you should definantly use MOSFETs. If you are having trouble with the on gate voltage from the PIC being to low you may try to connect a pull-up resistor from the gate of the MOSFET to the positive supply (this is assuming you are still running off of 9v). The pull-up would bring the gate to a full 9v when the PIC signal goes high but when the PIC ouput goes low the gate would be driven low. You should test your ideas out on a breadboard and find what works best.
Hope this Helps.