I2c always reads as 255

Mr_arduino:
I am going to write a bit-bang sccb function. How would I convert 5v to 3.3v (bit bang is not open drain like i2c)

Your bit-bang function better be open drain if you want it to be I2C compatible. The way to do this is to toggle the SCL/SDA pins between output low and input mode. Logic high (pin mode input) is then limited to your external pullup voltage.