When you think you need a FOR loop in a database, many times you need to generate the values to be looped through and then join those values to a table. Oracle will handle the looping for you.
There are many tricks for generating data, the simplest one is selecting from DUAL and using UNION ALL to construct a small set of data:
select wtt.wrt_ip_num, max(wtt.wrt_sl_num) wrt_sl_num
from w_transfer_txn wtt
join
(
select date '2020-09-20' the_date from dual union all
select date '2020-09-21' the_date from dual union all
select date '2020-09-22' the_date from dual union all
select date '2020-09-23' the_date from dual union all
select date '2020-09-24' the_date from dual union all
select date '2020-09-25' the_date from dual union all
select date '2020-09-26' the_date from dual union all
select date '2020-09-27' the_date from dual union all
select date '2020-09-28' the_date from dual union all
select date '2020-09-29' the_date from dual
) dates
on trunc(wtt.wrt_in_dt) = dates.the_date
group by wtt.wrt_ip_num;
A shorter, but more cryptic, way to generate 10 dates is to use a hierarchical query like this:
select wtt.wrt_ip_num, max(wtt.wrt_sl_num) wrt_sl_num
from w_transfer_txn wtt
join
(
select date '2020-09-20' + level - 1 the_date
from dual
connect by level <= 10
) dates
on trunc(wtt.wrt_in_dt) = dates.the_date
group by wtt.wrt_ip_num;