Yes, I think that as long as you use one of the standard work flows, the toolchain that compiles your software figure out automatically the part of the flash memory to use.
The 0x200000 start address is hard coded in the Cyclone III FPGA and can't be changed. I suggest reading the configuration chapter of the cyclone iii datasheet (
http://www.altera.com/literature/hb/cyc3/cyc3_ciii51016.pdf). The address is mentioned on page 9-33.
I think it was hardcoded that way to be compatible with most applications, especially for those that are used to put the CPU reset vector at offset 0 (even if there is just a jump to the actual application, or a small bootloader code).
EDIT: I should read the datasheet too ;) It seems that in fact you can change the Cyclone III start address with a special JTAG instruction.