Использовать временную таблицу вместо
CREATE TABLE #TempSiteKey (AccKey int,SitName varchar(1000),SitKey int)
insert into #TempSiteKey (AccKey,AccName)
exec [usp_Get_AccountForUser] @UserName
DROP TABLE #TempSiteKey
И причина, по которой вы не можете вызвать процедуру, заключается в том, что вы неправильно ее разграничили
exec [ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser]
На самом деле означает выполнить процедуру под названием 'ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser'.
То, что вы хотите:
exec [ABC-SQL-PROD].[DBabc].[dbo].[usp_Get_ABCForUser]