Determining rookie status:
A player shall be considered a rookie unless, during a previous season or seasons, he has (a) exceeded 130 at-bats or 50 innings pitched in the Major Leagues; or (b) accumulated more than 45 days on the active roster of a Major League club or clubs during the period of 25-player limit (excluding time in the military service and time on the disabled list).
http://mlb.mlb.com/NASApp/mlb/mlb/offic ... ations.jsp
for the most part.. 5 years after a rook year that player is a free agent. unless there was an extension signed before those 6 years, thats not often though.. otherwise, for an older player, just put in(example) bengie molina, contract,,,,,into a search engine. a ton of articles will come up with dates.