How to cache content per user?
In the upcoming Craft 2.2 release, we've added a using key parameter to the {% cache %} tag for for situations like this.

So you'd be able to do something like this for per user caching:

{% cache using key "myImportantUserCache" ~ currentUser.id %}