How do I get a firmware .hex running on a PIC18F2550?
To answer your questions:

1) The bootloader would be loaded by the developer. 
2) Skipped; It's not pre-loaded.
3) Yes, you can use a programmer to load a new program onto the PIC but if you don't include the boot loader then it will be overwritten unless you account for the bootloader or load it on yourself. The hex file you create should start writing to memory after the bootloader's location, and probably needs to be configured to work with the bootloader. The bootloader is provided by Microchip and there are app notes on how to use it. You can also find a compatible programmer on Microchip's website.

One of the reasons for the boot loader is so you don't have to use a programmer. It allows you to connect via USB and load the new hex file without using a programmer.

From the link:

To perform a firmware upgrade first, switch the SW1 to 'A' for bootloader mode and connect it to USB port. Then program the iCP12 with provided firmware (iCP12_xx_Firmware.hex) file using the Microchip USB HID Bootloader application. Disconnect the iCP12 and switch back the SW1 to 'B' for normal operation.

The exe for the HID bootloader application can be found in the iCP12_usbStickPack (software pack) found in the download section from the link you posted (http://www.piccircuit.com/shop/pic-dev-board/119-icp12-usbstick-pic18f2550-io-board.html).