Так, я понял. Без ухода от абстракций все же не обойтись.
Ок, очень конкретно:
Компания занимается продажей фруктов.
Внутри есть отделы по следующим направлениям: яблоки, бананы, апельсины.
Для этого в CRM я завожу головной бизнес-юнит (подразделение): ФРУКТЫ
И создаю в нем дочерние подразделения:
Яблоки, Бананы, Апельсины.
Теперь в юните ФРУКТЫ я создаю роль - "Продавец Всех Фруктов", видимость записей на уровне этого и дочерних подразделений.
В дочерних подразделениях, соответственно, создаем роли "Продавец Яблок", "Продавец Бананов" и "Продавец Апельсинов" с видимостью записей только на уровне своего подразделения.
Теперь я нанимаю продавцов, среди которых есть как узкие специалисты только по одному виду фруктов, так и универсалы, которые продают что угодно.
Я им раздаю нужные роли и всё хорошо.
Пока что должно быть всё очень понятно!

В один прекрасный день я нанимаю двух казалось бы универсальных продавцов. Но! У одного аллергия на апельсины, поэтому он будет продавать только яблоки и бананы, а второй умеет продавать только круглые фрукты, поэтому отбираем у него бананы. Вот.
Ну и какие им роли давать?

Создать два промежуточных подразделения, как вы советуете, не получится, т.к. Яблоки должно принадлежать обоим.