connection pooling ... this will only pool connections to a specific database on the mssql server
AFAIK, это правильно. Ваш пул соединений будет ограничивать количество подключений только к конкретной базе данных , для которой он определен.
want to control the total of these combined connections that will occur to many different databases
Не думаю, что вы можете контролировать количество подключений ко всем базам данных из пула. Вы написали, что у вас нет доступа к изменениям на сервере MSSQL. поэтому создание SYNONYMs для различных баз данных на MSSQL само по себе не вариант.
Вы можете написать свой собственный класс в приложении, скажем, ConnPoolManager, у которого есть внутренний счетчик до получения и освобождения соединений из любого из пулов.
Этот класс должен кэшировать все поиски JNDI для каждого пула.
Чтобы приложение могло подключиться к ЛЮБОМУ пулу, оно проходит через ConnPoolManager и, если счетчик показывает, что максимальный предел еще не пересечен, только тогда он получает соединение.
В противном случае это исключение для вас, чтобы попытаться позже.
Для этого может использоваться шаблон проектирования по типу Business Delegate.
Сказав это, я думаю, что большая проблема для вас будет
incidentally I can only find out the names of individual db's dynamically as they change day to day
так как от вас ожидают, что вы будете ежедневно создавать новые или редактировать настройки пула соединений в Tomcat? Это кошмар обслуживания в будущем.