We have a "Franchise" and "Transition" player in our keeper system. The rules are as follows:
1) Only players drafted in the 3rd round or later can be kept.
2) Franchise players can be kept as long as you want.
3) Transition players can only be kept for one year.
4) Transition players can be named as Franchise players after one year, but once a player is named as a Franchise player, he can not be named Transition player later.
5) Franchise players cost an owner their 3rd round pick, Transition players cost an owner their 4th round pick.
6) You can only keep a Transition player if you keep a Franchise player.
There are some other rules that close some loopholes (players traded to other teams and how they can be tagged), but this is generally how it works.
The system is beautiful. First, 5th round picks are absolutely gold. Owners will sit on drafting rookies until the 5th unless they are really excited. Secondly, the top studs are generally all back in the player pool every year, with only a few exceptions (one guy got ADP his rookie year in the 5th, but that's rare). Finally, owners who keep no one can get keeper-eligible players with those extra 3rd and 4th round picks.