I have to reply to this, because a lot of the answers here are bollocks
First off, if you can find a 512MB chip that's the same package as the 64MB one, it
will work. The NAND flash addressing scheme uses an 8-bit bus for data and addresses, and you send a 25-bit address (for 64MB) or a 28-bit address (512MB) as a sequence of 4 8-bit chunks.
Second, the NAND flash chip does not need to have any support for booting. The MMSP2 chip has its own hardware to read the bootstrap loader from the NAND.
Third, a new driver would "almost" not be needed. You would need to tell the MTD driver in Linux about the chip that you'd put in there, which means putting its ID and size into the MTD device table. Nothing hard there.
Now, the downsides:
1) I really don't think you'll be able to buy a 512MB NAND chip for cheaper than you can buy a 512MB SD card. Maybe if you were buying 10,000 of them, it would be different.
2) You'll need a JTAG setup to write the initial boot loader, kernel, and file system to the new NAND chip. The chip will come blank, you'll need to put the information the GP2X requires onto it.
3) GP2X Linux will not use the extra space. At the moment there is about 50MB of stuff on the NAND in the GP2X, including a JFFS2 file system of about 20MB (these numbers are off the top of my head, I don't have the details handy). You would make your own file system in the extra space and mount it somewhere, and then get your GP2X applications to use it. Not a simple job.
In short, I'm with barnesy: just say no!