1) Yes, the max code size can be 512 KB.
2) If the code size is small you can use the rest as data. You can modify this by making chanes to the "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\common\fx3.ld" file. Here the amount of memory allocated to the code / data is specified. Also, please have a look at cyfxtx.c file present in every FX3 project to change DMA buffer memory allocation / 2nd State Boot loader memory allocation etc.,
3) Yes you can have 2 MBit EEPROM. Even our FX3 SuperSpeed explorer kit uses the M24M02 EEPROM.
For details about the SuperSpeed explorer Kit, please refer http://www.cypress.com/?rID=99916
4) Yes, you can use 2 such 2 MBit EEPROMs if the image size is bigger. But in most of the cases it will be less than 256 KB.
- Madhu Sudhan