How to add fields (variables) to users to be used in combination with data about events? About my site:

I have a site about events where users can:


post and rate events.
confirm that they will attend (everyone can see who will attent).
etc.


Requirement 1: I want to make it so that you can add fields (variables with some value) to users, which resembles what they did. For instance: "User Anon had a red jacket and was drunk".

Requirement 2: Then I would like to have a drop down list:


that is unique PER event
with these fields (variables) which the users can use to add the appropriate values to their own profiles.


That way everyone can see what they did/had at that specific event.

Summary:

The following should be the desired result:


Add fields (variables) to users  .
Must be unique PER event.
Multiple choices possible.
Visible by other users.
Visible on own profile.


What I tried so far:


I tried to use the Views module with references and such. But it didn't work.
Then I tried to achieve it with a poll, which would work but is not unique per event.


My question:
Any ideas how I can get this done?
How about using the Flag module for this? Excerpt from its project page:

Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, users, and any other type of entity. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content.
Flags may be per-user, meaning that each user can mark an item individually, or global, meaning that the item is either marked or it is not marked, and any user who changes that changes it for everyone.
In this way, additional flags (similar to published and sticky) can be put on nodes, or other items, and dealt with by the system however the administration likes.

Possibly in combination with some of the Flag related modules also, such as (partial list):

Views, to create lists of flagged content, users, etc, such as in the video about Creating global flags and listing flagged content in Views.
Rules, to trigger rules for anything that is flagged, such as in the video about Triggering rules with Flag, or to set flags with the Rules module, such as in the video about Setting flags with Rules.
Flag Lists, to allow users to create custom lists.
Flag Weights, to add weights to Flags (to be used for sorting).
DraggableViews, to make Views draggable (so that they can be rearranged by Drag'n'Drop.).
Flag Friend, a pre-built flag for marking other users as friends (using the Flag module).
Flag Abuse, a pre-built flag for marking offensive content, with some extra administrative features.
Flag, Hide &amp; Mute, for users to hide individual nodes, such as site-wide announcements or advertisements, and/or to suppress all posts by users they do not want to see.
Flag Files, to flag media files.
Flag Service, to allow Flag to be accessed via a web services interface through the Services module.
DLike, provides a Facebook like &quot;Like&quot; functionality using the Flag and Lightbox2 module.
Conditional Flags, provides an extra API to Flag module, for custom conditions between flags.
Organic Groups Flag Integration, extends the flag module with organic groups support allowing the administrators of each group to override the global flag settings for their group.
Context Flag, allows the use of Flags as conditional triggers for use with the Context module.

Refer to its community documentation for way more details (if you like to read), and/or various screencasts about the Flag module (if you like to watch).