A Microsoft extension to the ANSI SQL language that includes procedural programming, local variables, and various support functions.
No, you can't. An INSERT, UPDATE, DELETE and MERGE statement can only operate on a single table.
I'm not sure exactly what you want to do, but you can use the OUTPUT clause to save data affected by the statement into a table and work from there. For instance:
MERGE Locations T
USING Locations_stage S ON T.LocationID=S.LocationID
WHEN MATCHED THEN
UPDATE SET LocationName=S.LocationName
OUTPUT inserted.LocationName, S.LocationId INTO #mytemp(LocationName, LocationId)
;