Hi there,
Unfortunately, the 18F4550 is a USB SLAVE device. If you want to interface the USB joystic to a microcontroller, you need one with USB HOST functionality. If you do go this route, download a freeware called "snoopy" or USBlyzer to analyze the USB traffic. During USB enumeration process, it will report the various information about the joystick device when plugged into a PC such as "Report Descriptor" and other USB initialization reports necessary for USB host driver.
For more information about USB, look into getting a copy of the book "USB Complete" - Jan Axelson
hope this helps a bit!