28C64 EEPROM Programming Using Arduino
The device has 13 address pins, which should specify an address in binary from 0x0000 to 0x1FFF.  You have not indicated that you are doing anything with them?

Also, I would suggest that you should write a writebyte procedure which sets all address and data wires to output and puts proper values on them, ensures WE and OE are deasserted, asserts CE, asserts and release WE, and releases CE, and a readbyte procedure which sets all address wires to output and puts proper values on them, sets all data wires to input, asserts CE and OE, samples all the data wires, and releases CE and OE.  That will make the remainder of your code much more readable.