Você pode fazer referência a outros bancos de dados diretamente se o usuário tiver permissões.
<database>.<user>.<tablename>
É o "caminho" completo para a tabela do banco de dados.
Muitas vezes você usa
db1.dbo.tbl1 join db2.dbo.tbl2
onde dbo é o padrão para o proprietário do banco de dados, qualquer tabela que não pertença a um usuário específico é de propriedade do dbo por padrão.
UPDATE
Para validar a consulta, você pode expandi-la para isso
SELECT * FROM
(SELECT a.concession as db1_CON_NUMBER FROM db1.dbo.concessions as a
UNION
SELECT b.[Concession Number] as db1_CON_NUMBER FROM db1.dbo.invoicing as b ) c
INNER JOIN
(SELECT c.concession as db2_CON_NUMBER FROM db2.dbo.concessions as a
UNION
SELECT b.[Concession Number] as db2_CON_NUMBER FROM db2.dbo.invoicing as b ) d
ON db1_CON_NUMBER = db2_CON_NUMBER
Mas não tive tempo de verificar se isso retornaria os dados corretos, mas você pode testar.