I would like my groups to be able to create content that is not only private to a group, but also private to certain roles within the group. For example, a post that is only accessible by members of Group A that also have the "officer" role.
Ideally, I'd be able to make the roles group-specific because different groups should be able to create and assign roles to their members.
How can this be accomplished?
I needed somewhat similar functionality for a drupal 6 site and gave up on using OG for this. Instead I made a vocabulary that defined my groups and used tac_lite for setting access. The setup is being ported to drupal 7 right now, and I haven't had any problems implementing the same functionality in d7 so far. Maybe tac_lite is a solution for you? http://drupal.org/project/tac_lite
One possibility, which would twist your idea but still offer the same functionality would be http://drupal.org/project/og_subgroups (still in beta for D7 unfortunately).
OG User Roles allows group administrators of organic groups to grant additional user roles to individual members of a certain group.
To allow permissions and roles to be changeable for groups, you need to add that feature to the 'group entity' This can be achieved by using this example link. http://yourwebsite/admin/config/group/fields.