What do I need to put my code onto a microcontroller?
Since you are using the MPLAB IDE with the XC8 C compiler, you can check the compatibility from the menu Configure->Select Device (green indicator means fully supported, yellow is partial, and red is not supported).  

Right now, the best choices would be Pickit 3, ICD3, or RealICE (in order of increasing price)

Here are the compatible programmers, debuggers: 

You really want to have debugging support as well as programming support. 



Once the device drivers are installed you can select and connect to it (a given device can only be installed as a debugger or a programmer at given time): 



Then when you program is compiled (in either debug or release form) you can program the microcontroller with the buttons shown below: 



Physically, the PICkit or other debug/programmer unit has a connector that you connect to your system. There are 6 pins, of which 5 are used including power and ground.