During the spring quarter of 2009, Greg McGlynn worked on USB communication and bootloading with PICs as a 399 project with professors Lynch and Peshkin.
PIC 18f4550 -- only certain PICs are USB-capable, and the 18F4550 is probably the simplest one to transition to from the 4520.
USB communication with PC -- including example code for both the CCS and C18 compilers.
USB Bootloading -- loading programs onto PICs using just a simple USB cable as opposed to an ICD or other programmer.
USB communication between PICs -- requires a more powerful PIC than the 4550.
Microchip USB Framework -- A collection of example MPLAB/C18 USB projects, published by Microchip.