JPA/JSF com múltiplas conexões dinâmicas!

Dae galera…
Eu estou com o seguinte problema e até o momento não encontrei nada na web que me ajudasse:
O problema é o seguinte, tem um sistema web em que terão diversas bases de dados, e as mesmas serã criadas dinamicamente caso não existam,
então eu não posso configurar em um arquivo persistence.xml todas as conexões possíveis e simplesmente só chamá-las de acordo com o usuário logado.
Outra questão, eu posso ter até 40 bases diferentes, a única coisa que diferenciará uma da outra é uma matrícula, os nomes seguirão um padrão de nomenclatura, então
o usuário com a matricula 2015 se logara na base db2015. O problema é como gerenciar todos os objetos EntityManagerFactory de modo a não sobrecarregar o servidor, pois e sempre utilizei esse objeto de forma statica e agora não tenho idéia de como fazer para ter tantos EntityManagerFactory quantos forem as bases de dados!!
Ou seja, se eu tiver 40 bases, então eu deveria ter 40 objetos EntityManagerFactory. Não sei como gerenciaria esses objetos… alguém tem alguma idéia ou já passou por algo parecido?
Abradeço a todos!

Pessoal, será que seria interessante implementar dessa forma:
Eu teria um Map para a aplicação e a chave desse map seria a matricula, para cada matricula, seria me retornado o objeto EntityManagerFactory…
Será que isso não sobrecarregaria o servidor?
Abraços!