I found it...
I was missing...

ANSELC.3 = 0
ANSELC.4 = 0

I had moved to port D during my testing, so actually mine was
ANSELD.0 = 0
ANSELD.1 = 0

Why doesn't I2CWRITE and I2CREAD auto set these like it does for SERIN and SEROUT??? Or At least mention that it needs done in the manual. 7 hours of my life I'll never get back. (I'll also never forget ANSEL needs set on a I2C!!)