DECLARE @EmpID AS int, @lvl_limit AS int;
SET @EmpID = 109;
SET @lvl_limit = 3;

WITH EmpCTE(EmpID, FirstName, LastName, MgrID, Lvl)
AS
( SELECT EmployeeID, FirstName, LastName, ManagerID, 0
  FROM HumanResources.Employee AS E
    JOIN Person.Contact AS C
      ON C.ContactID = E.ContactID
  WHERE EmployeeID = @EmpID

  UNION ALL
  SELECT E.EmployeeID, C.FirstName, C.LastName, E.ManagerID, Lvl + 1
  FROM HumanResources.Employee AS E
    JOIN Person.Contact AS C
      ON C.ContactID = E.ContactID
    JOIN EmpCTE AS M
      ON E.ManagerID = M.EmpID
  WHERE lvl < @lvl_limit  )
SELECT * FROM EmpCTE;