See page 26 of the datasheet.
The PIC contains a 4 to 96MHz PLL. This multiplies the frequency basically. The frequency is divided by 2 which makes the USB clock of 48MHz.
The CPU clock can be chosen quite flexible, with it's own post-divider. So you could run the CPU at 48MHz too.
If you look at the diagram, there is a divider before the PLL to get your 4MHz input frequency. Think backwards to get the crystal frequency; 4MHz x prescaler. That means this PIC supports USB from 4, 8, 12, 16, 20, 24, 40 and 48MHz clock sources. In theory you could pick any, but I would stick to 12MHz as it's a very common frequency for USB applications. (likely to match 12Mbit/s USB speed)
This particular PIC has no way to clock the USB from the internal FRC crystal. Some newer PIC18's can from the K-series I believe, and also some decent PIC24's have accurate enough oscillators for basic USB operation.