How are you supposed to prove on the spot that you are an American? Driving license? Anybody legally in the States can get one of those. Social Security number card? Don't have to be a citizen to get one of those, too. Birth certificate? Mine, last time I saw it, looks like it was composed in pencil. Passport? Comparatively few Americans have one, and nobody carries it around when in their own country.

Now, if there were some some sort of national ID it would be more fair to put the onus on employers to be able to demonstrate that the people they hire are working legally. Solving this problem would of course boil down to working some Federalist issues that have been on the back burner since the nation began- a national ID (a national health ID card, maybe?) would have the "states rights" crowd all up in arms. Makes you wonder how united the United States are.