Utilice la cláusula de salida de 2005:
DECLARE @output TABLE (id int)
Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B
select * from @output
ahora su variable de tabla tiene los valores de identidad de todas las filas que inserta.