I'm not sure about varchar type of yor identifier column. You could try this code:
DECLARE @EMP_ID VARCHAR(50);
INSERT INTO empdetail(EMP_ID)
SELECT MergeResult.Emp_ID
FROM (
MERGE PercentageTable AS Target
USING (SELECT Emp_ID, Emp_Name,
CAST((Present/CAST(CASE WHEN ISNULL(totdays, 0) = 0
THEN -1
ELSE totdays END AS DECIMAL(10,2)))*100 AS DECIMAL(5,2)) AS Percentage
FROM DetailedPerformanceMonthlyReport
WHERE Emp_ID <= @EMP_ID) AS Source
ON Target.Emp_ID = Source.Emp_ID AND
Target.Emp_Name = Source.Emp_Name
WHEN MATCHED
THEN UPDATE SET Percentage = Source.Percentage
WHEN NOT MATCHED
THEN INSERT (Emp_ID, Emp_Name, Percentage)
VALUES (Source.Emp_ID, Source.Emp_Name, Source.Percentage)
OUTPUT $action AS action, Inserted.*) AS MergeResult
WHERE MergeResult.action = 'INSERT';
You could change -1 to any number to catch the division by zero exception