Well, theoretically you could use SDR from 0x0 -> 0x1FFFFFFF, as the GP2X uses a shadow configuration. That's 512MB.
For correct operation, there would be a "memory hole" between 32mb and 64mb for the second processor, but considering Linux is running as the OS, there's no problem there, you could just split the memory up into several chunks via the MMU and makes it all seems like one contiguous chunk of RAM to applications.
Why you'd want to is another matter entirely, however...
(Hmmm, you could probably stick some SRAM @ 0x80000000 onwards too, once you've taken care about the NetChip that's living around there somewhere, but I'm sure 480MB should be enough for a handheld console...)
The only reason 32MB -> 64MB is slower to access than 0MB->32MB is because Linux automatically cleared the bufferable and cachable bits of the MMU table descriptors for locations outside it's memory range (don't forget it thinks there's only 32MB). I've manually altered the MMU tables, and can get full speed access to the whole 64MB. The emu I was playing with increased by about 3 fps too by doing so