Вы можете изменить свой подзапрос на встроенное представление, к которому вы присоединяетесь, а затем использовать аналитическую функцию для увеличения:
INSERT
INTO ab (c_id
, d_amt
, e_date
, f_id)
SELECT cx.c_id
, cx.d_amt
, cx.e_date
, NVL(ab2.f_id, 0) + ROW_NUMBER() OVER (PARTITION BY cx.c_id ORDER BY NULL)
FROM xx cx
LEFT JOIN (SELECT c_id, MAX(f_id) as f_id FROM ab GROUP BY c_id) ab2
ON ab2.c_id = cx.c_id
db <> fiddle demo
* * * * * * * * * * * * '*' 'немного не в себе;если вам важно, какая последовательность находится во вставленных строках, вы можете упорядочить по одному или нескольким другим столбцам, доступным из cx
.