I dont know about Gays, but they do cure sense of humour loss.....
Simple solution, a plastic card with name, date of birth, a photo, and your unique identifier encoded in an RFID chip as well as on a barcode and in numeric form.
At a basic level you can prove ID by matching the picture to the face, you then know who it is and what age they are.
If the burden of identity is greater, authorised people can then scan the barcode/read the RFID tag or even key in the id and up pops a picture from the database that can be confirmed to match, or not match the picture on the card - this avoids the use of fake cards where identity/proof of age is a legal requirement. In the case of licensed premises, their access-level would also return the age (meaning even the most ape-like doorstaff could controll access - they wouldnt have to do the "subtract date of birth from current year maths".
Everyones driving entitlements could be tied to their ID number, meaning we dont need to carry a second photo card, with access to that database being limited to those who need to access it only, the same for police records, even medical records.
We could even allow people access to their OWN records on theses systems, meaning that if I change my address, I can go online and do that (and as it doesnt physically appear on any documentation) it can be changed at zero cost to the end user as nothing needs to be physically changed.
No real privacy concerns, except the cross-referencing of Databases being easier, as long as there is a strong way of limiting the searches that can be done from the ID number, but that can be done in hardware, as mentioned above, a simple card reader with a display at the door to a nightclub or on the bar in a pub, put the card near the reader, check the face matches the card/person presenting and get a colour coded (red for underage, green for over) indicator.
Shouldn't even cost the earth, just a simple database with a few tables and columns in it and a networked system to be able to check back to base from.