Actually, I had a SSN number come back as belonging to a woman (Barbara), and the employee was a male hispanic. All I can legally do is tell Barbara aka Hector that his SSN didn't match. But I can't fire him. Not for that, anyway. (By the way, Hector got POed I called him Barbara and he quit)
I agree that you cannot legally fire him willy nilly on a one-off basis. But you can establish a company policy with respect to mismatched social security numbers and so long as you apply that policy in a nondiscriminatory basis to all employees you can use his failure to comply with the policy as a basis for termination. This amounts to writing a memo and posting it along with your other mandated employee notices or in the employee handbook.
The consistently applied policy could be that any employee with a mismatched name/social security number shall provide proof of their application to the Social Security Administration for a records correction within 10 days of being notified. Most illegals will be forced to quit.
Or you could just utilize the Basic Pilot Project to ensure that applicants are legal before you hire them. It takes 60 seconds.
But you hired him before you knew his status? That was dumb.