These type of threads frustrate me because they're often filled with responses from people who have no idea what they're talking about.
I'm a police officer, and even then, I'm only qualified to speak in regards to my own state (Pennsylvania). My advicve, first and foremost, would be to follow the advice of ryanmkeisling, who said your friend should consult an attorney licensed to practice in his state, or contact the ACLU branch in that state.
Generally speaking, many states have laws requiring you to identify yourself if detained (as in, an investigative detention). An "investigative detention" is a stop supported by reasonable suspicion, which is a lesser standard than probable cause.
However, to my knowledge, most states that require you to identify yourself do not require you to produce government ID. You simply must provide valid personal info (name, date of birth, and address). So I'd ignore the poster advising you to lie.
In many states, being drunk in public to the degree that you cause a problem is illegal. Assuming that this is the case in your friends scenario, then he was lawfully detained upon reasonable suspicion. As such, he is likely required by law to identify himself, but not necessarily provide a driver's license (because, like you said, he wasn't driving).
As for keeping the license, that's something that I can't really speak to because I'm not sure what state this occured in. I can speculate and say that, technically speaking, the state owns your physical driver's license (it's why they can suspend it and then take the physical license). Many states automatically suspend your driver's license for an underage drinking conviction, so perhaps that was the reasoning. Of course, that begs the issue of a lack of due process, but it wouldn't surprise me.
Of course, it could have just been an oversight by the officer who forgot he had it. I've done just that before - driven off with someone's DL, registration, etc without realizing it.