FLASH memory is an alternative ROM to EEPROM. It is usually used as program memory in microcontrollers, although they may also be used for data memory. They are definitely not RAM, though they are reprogrammable.
In-circuit programmable is a feature which makes the programming of the FLASH memory very convenient. The flash memory can be programmed while the microcontroller is in its own circuit. The circuit would have to be slightly modified to enable ISP, and the programming pins are pulled out to a socket, where it may be connected to a programmer.