Interfacing 16-bit SRAM/MRAM with Arduino Mega
The only thing that you have to do is perform logic level shifting. This is because the MR2A16A is a 3.3V powered device and looking at page 7 of the datasheet it shows the max input high voltage i.e. VIH. This is less than the max output voltage of the arduino (~5v) so you will risk damaging the MRAM if you don't level shift. As for the data pins since you have to read and write from them you would need bi-directional level shifting.For the address lines a simple unidirectional shifter would work. But with this many lines to apply level shifting on, it may be cumbersome.  

The method of level shifting depends on the speed of your intended communications. Simple voltage dividers can work for slow signals but will not work for fast changing signals. There are ICs for this but it's entirely up o you if you get those or go DIY.