So, indeed, banks 1 and up are all RAM.
I don't quite understand your 'devoted to mass storage' - you are perhaps thinking of memory mapped storage? I'm thinking of SD card block storage: your ROM routines read a block, place it in RAM.
If you have a large EEPROM mapped into high memory... well, you have non-volatile memory. That reduces boot time, I suppose. But it means there's a distinction between booting and upgrading.
Do you have a clear idea why you want large amounts of non-volatile storage? Is it perhaps because you hadn't originally got the SD card in mind?
The reason I want large amounts of non-volatile storage is because I had originally thought of putting all the OS code there, and then making the rest of the address space available for SD card programs. I also wanted all of the RAM to be available for the programmer. One compromise I'm willing to make is to only have the 12K of ROM and that'll load the OS into RAM. However, I do not want user programs to be loaded into RAM, because since they can vary by size, that means you'd have to carefully split up how much your program takes up and how much RAM it uses. I would prefer to "stream it" from the SD card, so to speak.