Firstly, this isn't a "how do I get agents to take calls from multiple campaigns at the same time" question, as I know it doesn't (and couldn't) work

The scenario I have is this: I have a calling list with records for various customers, which are currently all dealt with under the "Service" campaign. When the agent makes the call, they have to go into the relevant CRM system to complete customer information.
The challenge is that a subset of the records in the calling list relate to customers which use a different CRM system, which only some of the agents assigned to the campaign are trained on.
Ultimately what I need to do is have a group of agents who can deal with any record, because they are trained on both CRMs, and a group of agents who can only deal with records that relate to the normal CRM system.
The only way I can think of doing this is by splitting it into 2 calling lists and campaigns:
Campaign 1 = CRM 1 Calling List
Campaign 2 = CRM 1 Calling List & CRM 2 Calling List
The only problem with this is that when a campaign callback is scheduled under Campaign 2, only those agents will be able to handle the callback. Technically anyone in either campaign could handle a callback from CRM 1 Calling List, so restricting these to 2 or 3 agents will have a negative effect on productivity.
Any ideas on a solution to this?