I have done some testing:

To write data to the internal EEPROM using the DATA or EEPROM statement
there appears to be some kind of workaround:

DATA @$20,$A1,0,$A2,0,$A3,0,$A4,0,$A5,0,$A6,0,$A7,0

or

EEPROM $20,[$A1,0,$A2,0,$A3,0,$A4,0,$A5,0,$A6,0,$A7,0]

will result in the following EEPROM content starting at location $10

$0010 - A1 A2 A3 A4 A5 A6 A7

So what you need to do is:

multiply the adress you want to write to by 2
add "dummy-bytes" for the odd locations


DATA @$20,$A1,0,$A2,0,$A3,0,$A4,0,$A5,0,$A6,0,$A7,0

marked red EEPROM location to write to multiplied by 2
marked green actual data to be written to EEPROM
marked blue "dummies" for odd locations

Step by step I'm getting closer to the migration from 16F to 18F

btw:
READ just works fine, so there is no modification of code required for the READ statements.

I hope this saves the forum members some time when trying to migrate from 16Fxxx to 18Fxxx

rgds