Hi,
Yes, it's possible to keep bootloader at 0x0. However, an advantage of FlexNVM is that it's separate partition. So, you can run the code from FlexNVM while code flash is being programmed/erased.
If the bootloader is placed to 0x0, the flash commands need to be launched from RAM (or FlexNVM). Also if you need to process interrupts during the erase/program operations, the interrupt resources (interrupt vector table, handlers...) must be placed to RAM or FlexNVM too.
This is not problem when using S32K146 or S32K148 because there are more partitions in code flash.
Sector size is 2KB for devices with 256KB code flash and less or 4KB for 512KB code flash and more.
Regards,
Lukas