As far as I know, there's no way you can do this in CSS.
But I think that a little server-side logic could easily do as you suggest. CSS stylesheets are normally static assets, but there is no reason they couldn't be dynamically generated by server-side code. Your server-side script would:
Check a URL parameter to determine the user and therefore the user's chosen colour. Use a URL parameter rather than a session variable so that you can still cache the CSS.
Break up the colour into its red, green and blue components
Increment each of the three components by a set amount. Experiment with this to get the results you are after.
Generate CSS incorporating the new colour
<link rel="stylesheet" href="http://yoursite.com/custom.ashx?user=1231">
If you don't use the .css extension be sure to set the MIME-type correctly so that the browser knows to interpret the file as CSS.
(Note that to make colours lighter you have to raise each of the RGB values)
Interesting suggestion. Would there be a risk of colours flickering as the page loaded if you used JS?
I've used techniques like this -- each user gets his own style sheet -- in conjunction with a preferences page where the user specified color selections. Note you don't have to copy the entire style sheet, and shouldn't. You can have multiple style sheets in a page, so you can have a generic style sheet for the stuff that's the same for everybody and then a custom style sheet for the stuff that's different. In our case we had a default custom style sheet for the (majority of) users who just took the default.
@Pekka can you please paste code here, i dont have expert acount to view the answer.