You can get one for a few dollars up to millions so you should be able to get one easy. Especially if it's just for a small line follower. They even come in the form of ICs. You can also build one yourself and have your PIC control it.
The basic type of control for a motor controller is an on/off signal from the PIC (motor controllers can also use serial protocals or whatever else). But physically, the transistors inside a motor controller are controlled by an on/off pulse. Instead of just using on and off pulses to turn the motor full on or full off, you can instead get the PIC to send out a PWM signal for speed control. PWM (Pulse Width Modulation) is a series of pulses at a high frequency where each pulse is HI for a certain % of the period, and LO for the remaning period. This % is called the duty cycle and causes the transistor that is being driven by it to also pass current for only that % of time. The motor will average out the full voltage on and off times and the end result is the motor "sees" less voltage from the battery and slows down giving speed control. For example, if the motor is connected to a 12V battery, and the duty cycle is 50%, the motor acts like it's connected to a 6V battery. If the frequency is too low, then the motor doesn't run so well (it's like you pushing on/off to a motor repeatedly- it starts, stops, starts). But if frequency is high enough the motor runs more smoothly. If the frequency is too high the transistors heat up because they are switching more and have to go through the lossy intermediary stage between on and off more frequently. 20kHz is a good number to go with.
If you want your motor to reverse itself, then what you need to build is an H-bridge (or buy one). But when you were talking about using the PIC to drive the motor it sounds like you weren't even considering reverse right? it sounded like all you wanted was forward and stop. If that is the case, just use a MOSFET transistor (N-channel type or NMOS is best and most convenient compared to P-type or PMOS). The PIC drives the gate with pulses (you can use simple on/off or PWM for speed control).
Also, motors are inductive and make voltage spikes when you switch them as a result. You need to put a diode across your motor (in reverse biased so that the diode won't be a short-circuit across the battery), so the spike current from the motor has a place to go. This protects your transistor from blowing up. In an H-bridge where current can flow both ways through a motor, you cannot put diodes across the motor (makes a short-circuit), then you put the diodes in reverse-biased parallel with all the transistors. You should also put a fairly big capacitor across the motor to smooth out the voltage.
Single-transistor (single direction)
**broken link removed**
Just pay attention to the motor and transistor on the right in this schematic. You would connect the transistor to the motor like this schematic (don't forget the diode and cpacitor that is not shown). Your PIC would replace the IC with all those resistor and capacitors in the schematic. A pin from the the PIC would go the gate of the transistor in the same way the output pin on the 555 timer IC does in the schematic. You also might want a pull-down resistor (a high resistance around 4.7k to connect the gate to ground). THis makes it so when your PIC pin is floating for whatever reason, the gate is still connected to ground so your motor won't turn on due to noise. It also makes sure your motor can turn completely off.
H-bridges (bidirectional)
https://www.modularcircuits.com/h-bridge_secrets1.htm