I never tried it myself, but have a look to USB.TXT
The USB header files for these PICs are set for a default oscillator of 20MHz.
The other settings for full-speed USB are HSPLL, USB clock is 96MHz PLL / 2
and system clock postscaler is divided by 2. For low-speed USB operation,
the main changes are to set the system clock postscaler to divide by 4 and
change the define for UCFG_VAL in the descriptor file for the project. The
sample project descriptor files show settings of UCFG_VAL for both full-
speed and low-speed. With these settings, for full-speed, the PIC core runs
at 48MHz. For low-speed, the PIC core runs at 24MHz.
You can run @ full speed using a simple 4MHz crystal, look USBDemo.

HTH