I'm planning to build a rather large Arduino Uno project. Its a Midi mapping device with a LOT of parameters.The device has one Midi input (and a thru) and 4 Midi outputs. For each output filtering, detection, transformation and dispatching options can be specified. I am in the process of working out the details of the data (structures) so I don't know a specific size yet...

Because of the real-time aspect (Midi message processing) I think I need an optimized in memory representation of the actual parameters to use. The settings need to be stored across user sessions (power off).

I think I need a generous amount of storage to store multiple lists of mapping settings. I don't want to use the built-in EEPROM because of its writes limitation. Perhaps a battery powered static RAM chips is a better idea?

The internal EEPROM write limits should be of little concern unless you plan to update the parameters very frequently. The size could become a problem instead, if the number of parameters gets really high. I suggest you start with the eeprom to keep things simple. You can later switch to an external eeprom or even an sd-card.

I came across the micro SD Card shield which is pretty cool if you want to work file based and for instance swap files with your computer.

I found a nice external I2C EEPROM that has 32k byte (256kbit) and has a million writes. The 24LC256 - its pretty cheap (the 400khz that is). I think there is also a 24LC512 that has double the memory address space as the 32kb one (64kb) - that is the same size as my first home computer! .

Advantage of an external EEPROM over the internal one is that if it brakes, you can easily replace it. Its also capable of a lot more writes. And with the I2C serial bus it doesn't eat up that many pins on the main board.