How to get around not being able to use Temp Tables in Functions?
Your best bet is to rewrite the function to remove the need for the temp table at all.  This will benefit you in other ways as your current row by row approach will not scale well.  

The example below shows one way of getting the same results without using a temp table.  I had to make assumptions about the data types since you didn't include the function header.  

DECLARE @EmpID INT
DECLARE @StartDate DATE
DECLARE @EndDate DATE

;WITH CTE_HR
    (
    SELECT HRM.* 
        , IsRangeBetween = General.IsRangeBetweenDateRange(HRM.StartDate, HRM.EndDate, @StartDate, @EndDate)
    FROM Human_Resources.v_GetemployeeManning(@EmpID) AS HRM
    )
SELECT * FROM CTE_HR
WHERE IsRangeBetween = 1