In terms of the free agents, 5 seasons sounds just fine (if not too long).
As for retirement, I think it should be more of a "Hall of Fame" situation -- we shouldn't lose staple cards (e.g., Giant Growth, Dark Ritual) or be penalized for taking a card in the draft for "future use" and have the clock run out. So I believe the clock on a card's career should only consider seasons in which it was used in the deck (seasons in which the card affected play in games). For instance, I drafted Leafdrake Roost in the initial draft, but haven't used it at all -- though at some point I would like to. On the other hand, I drafted 2 Ghitu Slingers in that same year and have been using those ever since, so they have accrued 3 seasons of use each.
I think there should be a time frame (say, 5 seasons again) determined for the "career length" of cards. At the beginning of each season, we can compile a list of cards that are entering their (potential) last season, so that nobody is blindsided by the loss of deck components. At the end of the season, then, each player submits a list of 5 cards they think should be "Hall of Famed." Cards that receive a sufficient aggregate ranking then get retired. The aggregate ranking can be determined from 10 points for a "1" ranking, 8 points for a "2," etc, with a retirement threshold set at 30 points or something. For instance, if three people think a Ghitu Slinger is the 2nd most retireable card and two people think it is the 4th most retireable, it has (3x8)+(2x4)=32 points, and it would be retired (well, one of them would be, anyway) at the end of that season.
We could potentially limit retirements to one card per player per year, to prevent wholesale annual destruction of decks. Additionally, retirement could be rewarded with an additional draft pick between the first round and the second round of the draft -- that player loses his final pick of the draft but gets an extra right near the beginning instead.
Just my thoughts on card retirement.