RE: Seperating I9 info from personnel files
Yes, these are the two main reasons that Forms I-9 should be kept separate from the personnel file. In addition to concerns about the INS finding other problems (even if the risk is small), if you have to turn over all your personnel files at the time of an INS audit, you may be giving the INS confidential or sensitive business information to which the INS would not otherwise be privy. Or, if you're handing over copies, it's much easier to just copy a file of I-9s than have to go through each personnel file to separate out the I-9s in the limited amount of time the INS gives you.
In addition, Forms I-9 not only contain information regarding an employee's employment status and national origin, but also their age. As we all know, it's a lot easier to defend against claims of discrimination if you can demonstrate that essentially no one had access to this info other than the person who collected and filed the I-9.