Usually this is handled using secondary roles. For example, Role A has capabilities A & B and has ten users in it. If you want five of those users to have capability C, you can create Role B with capability C and assign it as secondary role to those five users. So only those five users will have capability A, B and C.
Let me know whether this will fit your use case.