I'm not sure what version of PicBasic you are using, but this:

5.93. WRITE

WRITE Address,{WORD}{LONG}Value {,Value...}

Write byte, word or long (if PBPL used) Values to the on-chip EEPROM at the specified Address. This instruction may only be used with a PIC MCU that has an on-chip EEPROM data area such as the PIC12F683, PIC16F84 and the 16F87x(A) series.

I would begin with a short, simple demonstration of a BYTE read and write operation based on simple syntax: WRITE ADDRESS, VARIABLE. Use READ ADDRESS, VARIABLE to retrieve the variable. Presuming then that your version of PicBasic is the same as mine, WRITE ADDRESS, WORD VARIABLE will write a word and READ ADDRESS, WORD VARIABLE will retrieve it. If this fails then: WRITE ADDRESS, VARIABLE.highbyte and WRITE ADDRESS + 1, VARIABLE.lowbyte - similar syntax with READ to retrieve the value. Once reads and writes are working, you'll be able to replace the code in your longer program without issue.

Disclaimer: I'm a noob with no WORKING code to test reading or writing WORD variables, but I am reading and writing bytes successfully with the examples posted and the manual seems to make clear how WORDS may be handled.

In any case it will much easier to troubleshoot a short, simple demonstration program - with comments indicating the version of PicBasic you are using and complete configuration included.