Low-speed USB using bit banging for small PIC16F chips, similar what the V-USB project does for AVRs: [via]
The 16FUSB is a software implementation of the USB low-speed for PIC16F628/628A microcontroller. All communication stuff is done by the firmware, completely discarding the need to use an additional chip. From the 16FUSB core is possible to add implementations of other protocols such as, for example, I2C, SPI or simple write data from the USB host (PC) directly to the PIC pins. A low-speed USB software implementation can be a great alternative for those who want lower cost projects and at the same time also doesn’t need high speed data transfer.
Open source low-speed bit bang USB interface for 8bit PICs – [Link]