The law requires you to keep the forms for the longer of 3 years or 1 year following termination
. Either one could be the later date. If you hire a person on 11/1/2004, and he terminates 9/21/07, you will need to keep the form until 9/22/08, because that is longer than 3 years from 11/1/04 (which is 11/1/07). On the other hand, if the person was hired 11/1/06, and terms on 9/21/07, you will keep the form until 11/2/09 (which is 3 years from 11/1/06) and longer than one year from the term date of 9/21/07 which would be 9/22/08). All this confusion is why many emloyers simply keep all I-9's for 3 years following the termination
; that way is much simpler, even though it is more than the law requires.
As for your 20- year employee: The law requires an I-9 on anyone hired after 11/6/86. So, if a person was hired in 1985, and has been with the company all that time with no break in service, no I-9 is needed.