I also tried out something similar to you had done. And I also failed and I came to ypur this post as well. There is nothing wrong with IIC file creating. The IIC file format is having a some data encoding format, wth program data length, the start address and actual program data. When we are downloading to the EEPROM, download process will copy the IIC file with that data encoding format(finally eeprom contains data idential to the IIC file). Your declared constant also copied to the EEPROM with that address encoding format. So your constant will not copied into that absolute address.
But I could avoid this problem by using another way. I'm using a FX2 device. First I downloaded vend_aux.hex and issued a verdor specific command to write to that exact EEPROM location, with my constant data. And it works fine. But drawback is I have to write an application for that. Cypress provides "CyUSB.dll" and with API function to write into USB endpoints.
There is nothing wrong in the procedure of creating the iic file. I am not sure how you are linking the variable in the project.
When using the "CyConsole LgEEPROM" it loads the vend_ax example and then copies the iic file contents to EEPROM. you have to write the information realted to your variable before the last record.
"80 01 e6 00 00"