It is a little unusual to be using recursive stored procedure when you can actually query to get the results in a single stored procedure. So, I assume that you are going to pass only the manager ID, which results in a list of supervisor IDs, and for each supervisor, which in turn results in a list of staff IDs?
Anyways, to call a stored procedure within a stored procedure, try this:
DECLARE @SupID INT
EXEC @SupID = uspGetSupervisorID @ManagerID
But looping in SQL is not advisable and should be avoided. Performance will be better if you just simply use a single statement to get the data you need. If assuming the data is stored in a single table tblUser (where SupID mean superior ID), try this:
SELECT man.UserID AS ManagerID, sup.UserID AS SupervisorID, stf.UserID AS StaffID
FROM tblUser AS man JOIN tblUser AS sup ON man.UserID = sup.SupID
JOIN tblUser AS stf ON sup.UserID = stf.SupID
WHERE man.UserID = @ManagerID