I havnt used TSQL for a long time, a very quick thought suggests you need something along the lines of
CREATE PROC sp_UpdateDuration (
@id integer)
AS
BEGIN
UPDATE EmployeeDuration E
Set E.Duration = DateDiff(day, E.StartDate, E.EndDate)
Where E.id = @id;
END
GO
and you call it as
EXEC dbo.sp_UpdateDuration @id = (Row Id);
although I get the feeling you're better off using a cursor if you wish to update more than one row