Why do you want PAUSE 1 to pause for 4mS? Can't you just use PAUSE 4?

Note you do not have to use HSPLL. With a 20MHz osc you can set the PLL divisor to
/5, USBDIV /2, and the USB core will run at 48MHz. You can set FOSC = HS and set the
CPU divisor to CPUDIV = OSC1_PLL2 and use DEFINE OSC 20.