Internal oscilator vs external and Serial port question
Forget about those serial port programmers sold by Sparkfun and other suppliers, they aren't supported by MPLAB, they don't program the latest chips, they don't work very well, and you won't get in-circuit debugging. If you don't believe me, look at the posts about them on the Sparkfun forums. Here is a typical tale of woe.

Get a Microchip PICkit 2 or 3, they plug straight into a USB port and the PICkit 3 supports all current devices, and works with the new MPLAB-X IDE.