m. Is it possible to program flash RAM “on the fly”, while the microcontroller is running?

Yes, there is a second programming alternative. PIC18 (J and K subversions only), PIC24 and PIC32 chips are designed to be programmed “on the fly”. They can trigger low voltage flash RAM erasing and/or programming during the program execution. The only requirement is that there are enough unused flash RAM rows that can be erased and overwritten with new data.