Grazie per avermi dato indicazioni, ho trovato una soluzione (Correzione: soluzione) che mi si addice bene. Ho creato un wrapper attorno all'origine dati originale, ho sovrascritto il metodo getConnection() e l'ho associato a un nuovo nome JNDI. In questo modo ho il pieno controllo sull'origine dati senza perdere alcuna funzionalità dal contenitore.