Вы не можете вызывать хранимую процедуру как часть предложения VALUES в INSERT. Что вы можете сделать, это сначала выполнить хранимую процедуру и получить возвращаемое значение в переменной. Используйте эту переменную как часть вызова процедуры sp_execute sql.
DECLARE @p_Empl_ID int
DECLARE @legajo NVARCHAR(41)= N'USUARIO DE PRUEBA - Legajo: 1171'
EXEC @p_Empl_ID = EXEC EMPLEADOS_LEGAJOS @legajo
EXEC sp_executesql @statement=N'insert into Celulares_Empleados(CEL_IMEI,Empl_ID,FH_Asignacion,US_Asigno)
values (@imei,@Empl_ID , @date, @usuario)',
@params=N'@imei nvarchar(15), @legajo nvarchar(41), @date datetime, @usuario nvarchar(5)',
@imei=N'353108089985778',
@Empl_ID = @p_Empl_ID ,
@date='2020-06-18 22:56:08.367',
@usuario=N'admin'
ПРИМЕЧАНИЕ : Обычно рекомендуется возвращать статус выполнения процедуры в качестве возвращаемого значения. Если вы хотите получить какое-то скалярное значение из выполнения процедуры, предпочтительно использовать выходные параметры и использовать их на последующих этапах.
DECLARE @p_Empl_ID int
DECLARE @legajo NVARCHAR(41)= N'USUARIO DE PRUEBA - Legajo: 1171'
EXEC EMPLEADOS_LEGAJOS @legajo, @p_Empl_ID OUTPUT