Hello.
I will try to answer your questions one by one.
1) Yes, it is possible to do so. You may store the .bin file in the other controller's RAM/Flash to do so.
2) You can store data in Flash memory. The Flash memory is not a read-only memory (though it can be made read-only using access privileges).
3) The primary purpose of using the driver library present in ROM is to reduce Flash memory footprint of your application - especially when you are using multiple stacks - every byte of memory matters. We try to help the developer out by reducing the memory overhead of the driver library.
4) If you are developing in C, I feel conditional calls to a function/jumps should suffice. If you can explain what you want to implement exactly, we can help you out better.
5) Boot-loader is a piece of code that when executed can do the firmware upgrade. It is generally used when using JTAG is not a feasible option for firmware upgrade.
Consider a situation where you want to perform firmware upgrade of an inaccessible device in a complex system like a car where most circuits communicate with each other over a CAN bus. Instead of trying to stick your JTAG headers to the target controller, you can simply invoke the CAN bootloader present in the controller and pass the new firmware in the form of CAN messages. This is generally what is done.
6) The Tiva controllers do not have error correcting memories as of now. But, is it important for your target application? If yes, you need to consider our Hercules Cortex-R4 microcontrollers. Each one has ECC memory that can correct bit-flips without throwing a fault.
7) Yes, you can do that using LM Flash. You can implement a bootloader yourself or use the bootloaders present in the boot-ROM for this purpose.
Regards,
Shashank