I honestly don't believe making programmers is time well spent. These homemade schematics are often not good for all parts or don't work reliably in different configurations. Few work with dsPIC for example or offer ICD (In-Circuit Debugging) which is just a godsend. ICD allows you to stop the hardware and read values in the registers and your variables, even change them manually if you feel the need.
Go to Microchip and get their IDE and MCC18 compiler and simulator. They're all good tools.