The most straightforward way is to use the UPDATE's WHERE clause to select the values... embedding an IN (SELECT TOP 5 ...) should do it.
Example:
create table ##dummy (pk int IDENTITY (1,1) PRIMARY KEY, vals varchar(50));
INSERT INTO ##dummy (vals) VALUES 
  ('updateme')
  ,('updateme')
  ,('updateme')
  ,('updateme')
  ,('updateme')
  ,('leavemealone')
  ,('leavemealone')
  ,('leavemealone')
  ,('leavemealone')
  ,('leavemealone')
  ,('leavemealone')
  ,('leavemealone')
  ,('leavemealone')
SELECT * FROM ##dummy
UPDATE ##dummy
  SET vals = 'fixed!'
WHERE 
  pk in (SELECT TOP 5 pk FROM ##dummy ORDER BY pk)
SELECT * FROM ##dummy
DROP TABLE ##dummy
So with your particular example, it is probably:
UPDATE 
  TempStaging
SET 
  pending = 'running'
WHERE
  scan IN (SELECT TOP 5 scan FROM TempStaging WHERE pending = 'outstanding' ORDER BY scan)
Hope that helps!