I do not mind answering your questions but if you want better/faster answers to the simple ones you can google for them or look them up on wikipedia.
What follows have been put in the most basic terms. Not 100% correct but it should move you in the direction of understanding these terms enough so you can read more about them elsewhere.
First some basic definitions.
uC = microController
RAM = Random Access Memory
ROM = Read Only Memory
Flash = a type of ROM used by many uC, also known as EEPROM.
FIRMWARE is code that is saved in and executed out of ROM. Code you store/execute on a flash PIC is firmware. The code inside a microwave oven is firmware.
A BOOTLOADER is a simple program with the purpose to load other programs. A bootloader must be written to the uC with a programmer. After the bootloader is in place the uC can be programmed without the use of a programmer. Most often this is done over a RS232 or USB connection. The bootloader can also be used to reprogram the flash. So once you have a bootloader on a uC you can do without a programmer. This is very useful to upgrade firmware after a product is released.
A BOOTLOADER is most often firmware because it is software stored in ROM.
What does this mean for the ICD2?
The uC that is the brains of the ICD2 needs firmware to function.
To make life easy that firmware is initialy a bootloader.
MPLAB communicates with the bootloader on the ICD2 to download the software needed to program other PICs. Microchip calls this software an OS (operation system).
There are several OS used to program various Microchip uC's. If you had been programming 16F chps and switched to a 18F chip the ICD2 would need a different OS. MPLAB uses the bootloader on the ICD2 to load in that new OS.
HTH