Regarding CPU speed required for USB applications
The USB in the AT90USB162-16AU has its own clock circuitry. The 48 MHz USB clock is generated with an on-chip Phase Locked Loop (PLL).  The PLL in this case always multiplies its input by 6. Thus the PLL clock register must be programmed by software to generate an 8MHz clock on the PLL input as shown below:



So if an 8 MHz crystal is used, the PLL clock prescaler is set to divide by 1.  If a 16 MHz crystal is used, the PLL clock prescaler is set to divide by 2.  In either case, the input to the PLL is 8 MHz, and the output is 48 MHz.

One should not use the internal 8 MHz RC clock when doing USB as it will not be accurate enough.