One Channel Digital Communication
The ATtiny4/5/9/10 uses a single pin for both data input and output during programming. It drives the output only for the first 1 bit in a run of 1s; for the rest of them it switches the pin to an input with a pullup (thereby holding the line high), and then checks the input for a 0 in order to attempt to detect collisions.

Combining this with a normal bit-banged UART should allow you to create a one-wire channel between devices.

But don't forget that both devices need a common ground regardless.