AirWave is likely your best bet in storing and reporting on this data. AirWave can hold up to 550 days of client association data. It may be possible to do this via syslog and/or SNMP traps, but I don't have any knowledge of doing it that way. Also, if you need to be able to track this data, then unique IDs are your only real option. Depending on your deployment enviornment, you may also need a way to validate the user is who they say they are. Using ClearPass Guest, you can allow the user to register for a unique ID, but send the credentials to an email or SMS message; therefore validating the user in some other way.