Hola a todos. 
Creo que ya he solucionado lo de conectar dos Alfrescos a la vez (por lo menos para listar documentos funciona). 
Es tan tonto como crear una clase así por ejemplo:
<java>
public class AlfrescoConn {
   
   public AlfrescoConn(String alfUrl, String alfUsername, String alfPassword) throws AuthenticationFault{
      WebServiceFactory.setEndpointAddress(alfUrl);
      AuthenticationUtils.startSession(alfUsername, alfPassword);
   }
   public void close(){
      AuthenticationUtils.endSession();
   }
   
   public QueryResult executeQuery(Store STORE, Query query) throws RepositoryFault, RemoteException{
        RepositoryServiceSoapBindingStub repositoryService = WebServiceFactory.getRepositoryService();         
        return repositoryService.query(STORE, query, false);
   }
}
</java>
Y utilizarla para crear dos objetos, uno será el Alfresco de Origen y otro el de Destino:
<java>
public static void main(String [] args){
   AlfrescoConn alfSource = null;
   AlfrescoConn alfTarget = null;
   
   try{
      alfSource = new AlfrescoConn(SOURCE_URL, SOURCE_USERNAME, SOURCE_PASSWORD);
   
      QueryResult queryResult1 = alfSource.executeQuery(STORE, new Query(QUERY_LANG_LUCENE, "<BUSQUEDA>");
         
      ResultSet resultSet1 = queryResult1.getResultSet();
      alfTarget = new AlfrescoConn(TARGET_URL, TARGET_USERNAME, TARGET_PASSWORD);
         
      QueryResult queryResult2 = alfTarget.executeQuery(STORE, new Query(QUERY_LANG_LUCENE, "<BUSQUEDA>");
      
      ResultSet resultSet2 = queryResult2.getResultSet();
      
   } catch (Exception e) {
      e.printStacktrace();
   } finally {         
      if(alfSource != null){
         alfSource.close();
      }
      
      if(alfTarget != null){
         alfTarget.close();
      }
   }
}
</java>
El código que he puesto no tiene mucho sentido, es sólo para probar. Si se hace resultSet.getTotalRowCount() de cada Alfresoo, da un numero distinto y coincidente con el que que tiene cada Alfresco.