I spent some time reading the data sheet and the addressvar is word, have you tried to use a for next loop
for address = 1 to 5
ic2write statment
next address
this seems to work for me to write and read memory locations on the 24aa65 chip, and i did not have to split the address into upper and lower bytes.

Hum, I will think on it some more to day, if I can find my program I will upload the code I used..I know it is some where on the computer ??

Mike