// Write One Value to One Address
digitalWrite(SS, LOW);
SPI.transfer(WRITE); // write instruction
SPI.transfer(inVal >> 8); // send MSByte address first
SPI.transfer(0x00);
digitalWrite(SS, HIGH);
You forgot the second byte of the address. Your data byte (I assume the 0x00 is your data byte even though you didn't say so) is being taken as the second byte of the address and since nothing follows it, nothing is written.
Change it to:
// Write One Value to One Address
digitalWrite(SS, LOW);
SPI.transfer(WRITE); // write instruction
SPI.transfer(inVal >> 8); // send MSByte address first
SPI.transfer(inVal); // send LSByte address second
SPI.transfer(0x00); // Data to write
digitalWrite(SS, HIGH);
Similarly, your READ doesn't specify a full address. You send the MSByte and then 0x00. It also fails to turn off SS when done.
Change it to:
// Read One Value from One Address
digitalWrite(SS, LOW);
SPI.transfer(READ); // read instruction
SPI.transfer(inVal >> 8); // Address MSByte
SPI.transfer(inVal); // Address LSByte
// SPI functions reads 8 bits at a time
data = SPI.transfer(0xFF); // get data byte
digitalWrite(SS, HIGH); // Done with the READ