Hi,
a) No, this concept has been abandoned with all versions of eTPU due to low flexibility. Only TPU modules (eTPU predecessors) used the code stored in ROM memory. eTPU always executes from RAM and so there is a need of copying the code from FLASH to RAM after every POR.
b) No, it does not.
c) No, there is not possible to avoid loading of the eTPU microcode. Note there is also initialization of internal SRAM taking certain portion of boot time.
You could play with performance optimization to speed it up the loading process.
It is needed to have configured clocks (PLL and so) and internal flash configuration (wait states) properly to speed it up loading process. Also you could load eTPU code by DMA or second core whilst main core may perform certain actions.
These all is application specific, dependent what is most time critical in your application, however initialization of internal RAMs after POR is necessary as well as loading of eTPU code from internal FLASH to eTPU code RAM.