uploading firmware; ISP connector. And if you want to use MISO, MOSI and SCK pins for purposes other than firmware upoload, you can connect 4. 7k resistors between those pins and peripherals that you want to connect there. Two connectors on the left are from the most popular AVR programmer made by Atmel AVRISP mkII. And on the right is the pinout that I`m using in my projects, because it is much easier to work with single row connector than with double row ones.
But be aware it`s not a standard connector pinout. Since in PIC microcontrollers 12-13V applied to MCLR pin for programming you need to put schottky diode or 470 ohms resistor between RC circuit and MCLR pin. In some cases you can omit capacitor and diode and connect 10k resistor straight to MCLR pin. You can read more about this here: System Supervisors in ICSP Architecture and PICKIT 2 programmer manual.
PICKIT III and PICKIT II programmers are made by Microchip, they`re very cheap and have some additional functionality, like UART tool, which allows you to talk to the microcontroller or any other device using UART serial protocol.