random pin saving idea

I had this silly idea and I was wondering how silly it really it. Say I wanted to save pins on my atmega but I didn't particularly need analog pins for analogRead. Could I wire two pushbuttons(or something similar) to one analog pin, one pulling it low and the other high, then using analog read to see if its low (button 1 pushed), high (button 2 pushed) or floating somewhere in between (neither pushed). I'm aware that the analog pins can be used as digital pins, but this would effectively double them just as long as you don't need each pair pushed at once.

I'm not working on anything, just wondering what you guys thought of this idea.

Your idea is reasonable but I wouldn't use "floating" as one of the states. You should aim to have a well-defined voltage level in all cases. For example, 10k pullup on the analog pin at all times so the pin reads high when no buttons are pushed.

Then, button 1 makes a 10k connection to GND (pin would read 2.5V), while button 2 makes a 5k connection to GND (pin would read 1.7V). If both buttons are pushed the parallel resistance of 10k (button 1) and 5k (button 2) would be 3.3k, which would read as 1.25V. So you could actually read 4 states, including both buttons pushed at once.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons

Sorry it is not new, it has been done many, many times. Basically you put some form of D/A on the input and read the results. You can use resistors for a few switches, but if you want to detect more than one button pressed at a time you need something accurate.
You can get away with four switches and 1% resistors. The theoretical maximum is 10 switches because you have a 10 bit A/D in the arduino but in practice 6 is the most you can use.
If you are not bothered about distinguishing two presses at once, you can do over 60 switches like this.