Zawsze możesz sprawdzić dzień tygodnia przed wstawieniem wiersza (nazwy dni tygodnia będą zależeć od ustawień NLS, więc nie jest to najbardziej niezawodne rozwiązanie)
BEGIN
FOR i IN 1..365 LOOP
IF( to_char(sysdate-1+i,'fmDAY') NOT IN ('SATURDAY', 'SUNDAY') )
THEN
INSERT INTO MY_TABLE (ID, MY_DATE)
VALUES (i, (to_date(sysdate,'DD-MON-YY')-1)+i);
END IF;
END LOOP;
END;