no se puede, persistence.xml DEBE ser compilado e includo en META-INF.
Lo que podés hacer es crear diferentes Persistence Unit y switchear cuando creás el EntityManagerFactory (si estás usando injection desde algún application server ya no sabría guiarte).
Código Java:
Ver originalemf = Persistence.createEntityManagerFactory("config1");
emf = Persistence.createEntityManagerFactory("config2");
emf = Persistence.createEntityManagerFactory("config3");
Código XML:
Ver original<persistence>
<persistence-unit name="config1">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
... ...
</properties>
</persistence-unit>
<persistence-unit name="config2">
......
</persistence-unit>
<persistence-unit name="config3">
......
</persistence-unit>
</persistence>
Nota: realmente no se si existe una mejor práctica para esto, nunca me interesé en buscar otra alternativa, si la encontrás, estaría bueno que la publiques
Bue.. 10 minutos después de investigación
Una alternativa para @override algunas propiedades del persistence.xml justamente usando un Map de properties
Código Java:
Ver originalPersistence.createEntityManagerFactory("unit-name", properties);