I'm interested in doing something like this, too. The Arduino devices are very affordable, especially as compared with other programmable thermostats.
As far as turning on and off each of the components, you ought to be able to use a relay to do that. Use the Arduino device to control relays that connect the 24V to each of the different pins. In my scenario, I only have four wires, which I assume is because the heat and A/C units are the same, so there's only one 24V transformer.
Another added benefit of using the relays (at least in my case) is that I can use a single Arduino device to control multiple zones. Between sensors for each zone and control of each of the components of each zone, I figure maybe two zones per Arduino device. The other option is that even though the HVAC units in my building service multiple rooms I could measure the temperature in each room and have the unit come on when one of the rooms gets out of range, or average the temperatures and do it that way.
My issue is this: I want to do a 7 day programmable thermostat. Is there a way or some code I can use to program a clock onto the Arduino device? I know there is a millis function - is that the actual time, or time since it's been running, etc? Also, I can use a D/C adapter or battery with the Arduino device - what happens if it gets reset, though - will that clear out the clock?