An alternative approach…
I started down this road and then discovered the viewlevel plugin. Instead of using private categories and public categories, I’m trying the approach of marking private posts with a numeric viewlevel. This hides the post from anyone not logged into my blog, and from registered users without a high enough user level (as specified by me).
One benefit of this approach is that I no longer need a parallel hierarchy of categories — one set for public posts and another for private. I just post under “My Life” and set the appropriate view level, none for public posts and a numeric value for private posts.
The only hiccup I’ve run into is picking the right user level to provide basically read-only access to registered users. I didn’t realize WordPress assigned special value to certain user levels. To fit within the default scheme, I set my registered users and private posts to level 1. Level 1 users can read my “private” posts but cannot publish new posts themselves. Not perfect, but perhaps a good first step.