I take it you're in favor of a national ID?
No need for national ID.
Just a Driver's License, passport or state-issued ID card on one hand. Or birth certificate, social security card, some form of private picture ID (work ID badge, student ID card, Visa with your pic on it, library card, whatever) and a couple of bills/statements that show you as a resident.
As for the homeless? If they really want to vote, the DMV doesn't verify addresses actually exist. Put down the block address of the bridge you live under or the alley you stay in. Get a state ID card. Costs about $5. I bet lots of states have financial assistance programs for poor folk and ID cards, or Goodwill/SalvationArmy/etc have ways to help homeless folks get documented.
Frankly, I'm OK with "disenfranchising" people from voting who can't even prove who they are, though. If you don't care enough about yourself to keep some basic documentation ("I exist! See?"), then how can you possibly care enough to vote about issues?