la verdad no tengo mucha idea de como se use el protocolo usb pero para que no batalles haciendo tu propia implementación te recomiendo que utilices un pic que ya tenga puerto usb, algunos pic de la familia 18 lo tienen, puedes probar el pic 18f2550 o el 18f4550, se que esos tienen ese puerto