No, devi usare una variabile di tabella con OUTPUT
Tuttavia, puoi farlo...
...
WHEN MATCHED THEN
UPDATE
SET
@int = ID,
somecolumn = 'something'
WHEN NOT MATCHED THEN
INSERT
VALUES ('stringtomatch',
'something');
SET @int = ISNULL(@int, SCOPE_IDENTITY());
"assegna in UPDATE" è stata per molto tempo una sintassi valida per SQL Server. Vedi MERGE su MSDN anche. Entrambi dicono questo: