I'm trying to salvage a current board design but it's looking like I might not have a choice but to re-spin it and move the current connection over to a couple of unused single pin ports.
Either use a 1-bit port for SDA or use some external pulldown device, yeah.
I was looking at github at the I2C module and it had a note that the pins used had to be at bit 0 of the port.
That sounds like simply a code restriction, the hardware does not care. I don't know that
code or what it does though.
Assume I don't need to do any reads on the I2C port.
You _always_ have to do reads on IIC: every byte gets an ACK or NAK back.
If you cheat and output on SDA during that time, and your (slave) device
outputs the other polarity, you have a nice short-circuit. You can work
around that with some more resistors or something, but you said you
cannot do reworks so even the ugly rubber band solution is out ;-)
Could I still make the writes and use peek to check for the ACK?
You could try, and see for yourself if there is blue smoke, or how much
current flows... It's up to you if that's acceptable. You *can* just output
a 0 or 1 and see (with PEEK) what the actual line state ends up as, if you
accept the consequences.