I would go for the 1 pin ADC method. 8-bits of resolution is fine with increased accuracy. hell.. even 4 bits is enough.
Wouldn't it also be possible to have an interrupt trigger the read when the pin registers a voltage?
This would be faster than polling.
I also used an I2C OLED display, boosting the I2C speed to 1Mhz, this means very fast display updates.
With other I2C devices, who knows what can be done... add-on peripherals. The 6k code limit
has always been a limiting factor writing code. I have ran out of space several times while trying
to prototype some ideas. Especially those with LCDs. (usually need to buffer the display locally)
Using I2C for add-ons means
Examples of addons: (Using I2C, this lessens the overall code required for device communications)
GPS for getting outside and interacting with the real world ( Hi-Tech Hide and seek for example)
WiFi for data (MMO on DigiSpark!)
More input controllers: buttons, joysticks, trackballs, etc if you really need them.
BioFeedback.
Additional displays.