Hi John –
Maybe others on this forum will have some good suggestions, but I just wanted to mention (in case you don’t know) that BuddyPress groups can be set up as public, private, or hidden and that this built-in functionality might suit your needs. Also WordPress has some built-in visibility controls for individual posts and pages that lets you publish “private” pages that are visible only to editors and admins on the site. You can read about it here: http://codex.wordpress.org/Content_Visibility (Probably doesn’t guard against Google searches or people who know the url.)
But perhaps you are looking for more robust controls.
Also, if you are running a multi-site install, you might want to look at this plugin: https://wordpress.org/plugins/more-privacy-options/
For photo albums – you might try Buddy Pics – https://wordpress.org/plugins/buddypics/ – seems to be actively supported and gets good reviews. It lets individual members of a group add images and control visibility. (You might want to make some CSS changes so the colors work a little better with the group menu of the CBOX theme. )
Maybe others on this forum might have some suggestions for BP photo album functionality.
Good luck with your site!