1) Это нормально? - да, это нормально.
2) Должен ли я поместить dll_a в какую-то общую папку и сделать, чтобы все приложения ссылались на одну копию? -- Ты можешь, если ты хочешь. Проблема, с которой вы столкнетесь, заключается в том, что если вам когда-нибудь понадобится приложение, использующее другую версию DLL, все остальные должны будут обновить (или понизить). Если развертывание не является проблемой для управления библиотекой, я бы хотел дать им свою собственную копию. У нас есть довольно автоматизированный процесс, в котором я работаю, поэтому синхронизировать вещи, когда они должны быть, здесь довольно тривиально.
3) Загружает ли каждый рабочий процесс, обслуживающий эти приложения, несколько копий dll_a с разных путей, даже если они в основном являются одной и той же dll? - Да, каждый процесс будет иметь свою копию на dll. Каждое приложение работает в своем собственном пространстве памяти, поэтому, хотя технически они используют одно и то же, каждое из них будет иметь его копию в памяти.