Yes, there are mechanisms of varying effectiveness. For example, in California, when you apply for an absentee ballot, your name is removed from the list of voters at the polling place.
However, you may apply for an absentee ballot up to one week before the election -- which seems to be the standard for all states which I found information for, so far. By that time, the local lists seem to have been printed, because my uncle's name was still at the polling place (I checked) the first time he voted by mail. If he had wanted to, he could have also voted in person.
Now, this part of California uses a paper (Scantron) ballot with individual serial numbers. So, theoretically, an official could cross-reference the sign-in paper and see that the same voter ID voted both ways. This would be an intensive manual process, and I could find no evidence that it was ever done.
So, yes, there are mechanisms. And they do vary from State to State, and possibly county to county. For example, Oregon and Washington-state conduct all voting by mail.
Of course, in many states, there is little to prevent a person from registering twice with different names -- once for an absentee ballot and once for a normal ballot. You would only supply your driver's license or social-security number for one application. States like California allow no-ID registration(PDF doc), but you are supposed to then provide this ID at the polling place. (Except that ID is otherwise not required at the polling place.)
Officials could eventually discover that the same ID has voted twice. But, because there is an "air gap", manual correlation process, the odds of pulling off the fraud are good. I could find no record of my county's officials doing routine audits for this kind of double voting.