I have been doing some more testing and found that the data byte returned from the I2CRead relates to the port-pin I have the DPIN set to. I originally had the DPIN set to portA.4 and I was getting 16 as a result on all my reads. I later moved DPIN to A0 and got all 1's. PortB.6 returns all 64's, PortB.7 Returns all 128's... This is very strange. Am I missing something obvious or is there a bug in pBasic Pro 2.60C with I2C eeprom reads using the 18f14k22.