How to let a role be able to administer part of permissions?
I use Permissions Lock to achieve this.  You can give your role A the 'administer permissions' ability and then lock off all of the ones that you do not wish them to have access to.  It's a bit backwards in that you have to go through and tick all of the checkboxes except the ones you want to provide, but it works.

Also you need to check it each time you install new modules or go through an update that provides new permissions as the new permissions default to 'available'.