Você sempre pode verificar o dia da semana antes de inserir a linha (os nomes dos dias da semana dependerão de suas configurações de NLS, portanto, essa não é a solução mais robusta possível)
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;