SDRAM can be a bit difficult to work with, and unless you have the tools, ability, and time to debug things then it is not a good idea to use what probably won't work. And by "tools", I mean an o-scope + probes that goes up to at least 350 MHz (1 GHz is preferred) and maybe a logic analyzer. "Ability" means that you know the SDRAM protocol inside and out. And "time" means at least several weeks to figure things out. You might also have difficulty probing the BGA pins, too.
You cannot "overpower" an SDRAM, since that'll break it. You need to convert the 3.3v signals to 1.8v, and vice versa, and you need to do it cleanly. Basically, you need buffers that will do the translation (and match the signaling specification as well). To make matters worse, some of these buffers must be bidirectional and they eat into your timing budget. If your clock rate is slow enough you might get away with this. Designing something like this requires at least an "intermediate engineer". A newbe engineer just isn't going to cut it, given all the complex timing, termination, and control that needs to be done for the buffers.
Given that, the correct 3.3v SDRAM might not be looking all that expensive after all! :) There is something to be said about using the right parts in the right places.
The 33k pullup/down resistors are to make sure the signal is at a valid logic level when those signals are not being actively driven. With some CPU's this can happen at startup, especally if those CPU pins must be configured before they work as an SRAM interface.
They do nothing that a normal "termination resistor" does, as the resistance is way too high. For a termination resistor to work it must be the same value (or thevenin equivalent) as the trace impedance. There is, to my knowledge, no way to make a trace impedance of 33K ohms. Although I could be wrong, I don't think you can make a trace with an impedance higher than the impedance of free space which is about 377 ohms. You will rarely see termination resistors larger than this (or the thevenin equivalent).
The cap on the clock line is a HACK, and I suspect that it's not actually installed on the PCB. Some people do this to compensate for a badly terminated signal or to actually tweak the timing of that signal. IMHO, this is stupid and a properly designed system should never need this kind of kludge. Of course, sometimes the stupidness is inside the chip and you have no alternative but to use something like this.
I am concerned that some of the comments on the question talk about termination resistors in terms that are not even close to correct. (Sorry @JustJeff, it's not personal.) Lack of proper termination causes overshoot, undershoot, ringing, and unwanted reflections. Proper termination does not dampen these things, instead it stops it from happening in the first place. Termination actually prevents the conditions from forming that cause bad signal integrity, not trying to band-aid it later by dampening the bad stuff.
The problem with "dampening" is that there is no distinction between dampening the bad stuff and dampening the signal itself. With proper termination you can get rid of the bad stuff without making the signal itself suffer! Learning exactly what trace impedance is, and how termination can deal with the effects of that, is super important for professional designs and is very useful for the hobbyist. It's beyond the scope of this answer, but suffice it to say that everybody needs to study up! :)
Best Answer
The type of memory you need is SDRAM. It is not the same as DDR SDRAM. I don't think I've seen a Cortex-M device that supports DDR memory yet. You would typically go for Cortex-A family, if you need that kind of capability.
You can easily find SDRAM chips on digikey or any other distributor site.
At this point, the rest of you question is probably irrelevant, but let me give you some extra points.
Both of the chips support 256MB of RAM. If you look at the digikey link above, the largest amount in a single chip is 512 Mbits (64 MBytes). This is where the data bus width comes into play. You can see that 512Mb chips come in three configurations:
One way to increase the memory capacity would be to use two 512Mb devices in 32M x 16bit configuration, and wire them up as shown in this Atmel app note, for a total of 128MB of RAM: