Insert with OUTPUT correlated to sub query table
I guess you could (ab)use MERGE for this. First create a (temporary) table:

CREATE TABLE tempIDs
( PersonId INT, 
  FinancialInstitutionId INT
) ;


Then MERGE into Person (instead of INSERT), so you can use columns of the tables involved in the OUTPUT clause:

MERGE INTO Person 
USING FinancialInstitution AS fi
  ON 1 = 0
WHEN NOT MATCHED THEN
  INSERT (Street1, Number1, City1, ...)
  VALUES (fi.Street, fi.Number, fi.City, ...)
OUTPUT inserted.Id, fi.Id
  INTO tempIDs ;


Then use the temp table to UPDATE FinancialInstitution:

UPDATE fi
SET fi.PersonId = t.PersonId
FROM FinancialInstitution AS fi
  JOIN tempIDs AS t
    ON fi.Id = t.FinancialInstitutionId ; 


Test at: SQL-Fiddle