Скажем контроллер директивы которые делает запросы на получение массива
Причем тут контроллер? Обычно этим сервисы занимаются. Вообще контроллер директивы должен заниматься только тем, что нужно в рамках этой директивы (то есть содержит логику работы этой директивы, link скажем нужен для привязки логики и DOM). Если вам там надо забирать данные, то забирайте.
И вообще в целом не перекликающиеся контроллеры
Как много стоит плодить директив?
Столько, сколько нужно. Важно что бы директивы были изолированными кусочками функциональности, не имеющими представления о реализации внешнего мира.