I have a WR703-n which ships with 4mb Flash, I've added 8mb and tried 16mb however the u-boot doesn't support 16mb so only 8mb is used. I compile openwrt with the USB and vfat drivers and mount a USB drive at startup and run my OS from that.
The code to update the flash is on the flash so you'll need a way to flash your new SPI chip with at least the original firmware then do the update while its in the device.
What I have done in the past (I've done this about 5 times and haven't damaged anything yet...) is boot the router with the TTL-USB adaptor on it, invoke the u-boot command prompt, de-solder the flash IC and re-solder it without turning it off, then do the update. The ROM image is copied to RAM and executed, it is not accessed after bootup so it wont crash when you remove it.
You must use hot air, you cant use a grounded iron tip on the 3.3v or data lines, it will short it out and reset itself.
Use the lowest temp you can, IC's don't like to be powered up at such high heats.
I bought one of those chinese SPI USB flashers and while it did work, it took about an hour to flash 8mbytes. These are very slow due to them being programmed via bit banging one clock transition at a time, and under USB 1.1 protocol. ~1ms per clock edge.
I've since built a USB SPI programmer based around a 32bit ARM. It enumerates as a Mass storage device and allows direct read and write to the flash IC as if it was a drive (Emulated Fat12 in the ARM). An 8mb read is done in a few second and a write is not much slower. By far the most convenient way to re-write a flash. I've got a few boards left for my programmer if you are interested.