I'd tolerate three years. I wouldn't be happy about it, but I'd tolerate it.
Now if Gonzalez wants four years, some other team can have him. One thing the Reds must avoid is creating a situation where Alex Gonzalez's name ends up on the same list as Eric Milton's, aka the list of bad contracts. Four years of Alex Gonzalez at presumably $5 million per year enters the realm of qualifying as a bad contract. The odds of Gonzalez being an overall positive contributor in 2007 and 2008 are decent, but those odds start to collapse when stretching into 2009 and especially 2010.
There's no need to scrounge around for the Craig Counsells and Cristian Guzmans of the world. The Reds already have a serviceable in-house solution, which involves moving Phillips to shortstop and allowing Ryan Freel and Brendan Harris to split time at second base. Sure, the defensive value is worse this season and next than it'd be if we signed Gonzalez, but the offensive value is better. I'd be very much satisfied with that in-house solution if the only other option is Alex Gonzalez at four years.