Would it mess-up things to use a cookie to create a user profile and assign them to multiple groups?
It sounds to me like your idea, is very sound. I wouldn't say I'm "the person" to ask the most scalable way to implement something like that but I'm sure this post will stumble upon those that are in no time.
The most traditional way to accomplish something like this is to have users sign up and create an account on the site of course. It sounds like you are trying to accomplish similar features, but without the signup process.
Ok as I'm typing I had an idea from MODXpo. Bert Oost gave a demonstration on extending modUser. He showed an example of a data model he did for a dating wesite. Was very impressive. So maybe the direction you need to be headed is extending anonymous instance of modUser and maybe storing data in a custom table of some kind.
It looks like there is an Extending modUser post on RTFM
http://rtfm.modx.com/revolution/2.x/developing-in-modx/advanced-development/extending-moduser
Now as much as I try to stay away from using JavaScript for, well anything I have to ask if it is crucial for their to be a data model on the server side? If your areas of custom content on the site were essentially widgets loaded over AJAX you could use html5 localstorage to store information in the users browsers, and pass those parameters back to the server in your requests.
I've done something similar on my site to create a favoriting feature that allows users to star posts and visit /favorites to see their "bookmarks" if you will.