In my interpretation of the datasheet, your write operation should look like this:
digitalWrite(SS,LOW);
SPI.transfer(WRITE | (address & 0x0100) ? 8 : 0);
SPI.transfer(address & 0xFF);
SPI.transfer(outval);
digitalWrite(SS, HIGH);
while the read operation should look like this:
digitalWrite(SS,LOW);
SPI.transfer(READ | (address & 0x0100) ? 8 : 0);
SPI.transfer(address & 0xFF);
inval = SPI.transfer(0x00);
digitalWrite(SS,HIGH);