Doing a insert across two databases with same collations and getting an error
Ok, so when you ran 

SELECT * FROM sys.columns WHERE object_id = object_id('tb1')

for each of the tables you found that the collation was not the same as the database default.  At this point you have two options.

Change the collation in the query

All you have to do here is use the COLLATE  phrase after the column that needs it.

select distinct Number, Name, 'Unknown', 'Unknown', 'Unknown', NULL, 'No', 'GL', 'N/A' 
from DB2.dbo.tbl1 T2 
where T1.Number not in (select distinct AccountNumber COLLATE SQL_Latin1_General_CP850_CI_AI from DB1.dbo.tbl1) 


The above would force the AccountNumber column to use SQL_Latin1_General_CP850_CI_AI in this particular spot.

Change the collation of the columns

This could have ramifications elsewhere so you want to be careful before doing it but to change collation of a column it's usually just a simple ALTER TABLE ALTER COLUMN statement.

ALTER TABLE tbl1 ALTER COLUMN AccountNumber char(10) 
COLLATE SQL_Latin1_General_CP850_CI_AI NOT NULL