Oto jak to zrobiłeś - alias w nazwie kolumny
select
-- etc etc
(select innerDLI.datetime_created from distribution_line_items innerDLI where innerDLI.item_number = distribution_line_items.item_number order by innerDLI.datetime_created asc limit 1) as Origination,
-- etc etc
from distribution_stop_information
-- etc etc
Oto jak możesz umieścić go w miejscu, alias w połączeniu
select
-- etc etc
Origination.datetime_created
-- etc etc
from distribution_stop_information
left join distribution_line_items AS Origination ON Origination.item_number = distribution_line_items.item_number
where Origination.datetime_created > to_date(?, 'YYYY-MM-DD') - interval '180 days'
-- etc etc
Nie ma w tym nic lepszego niż rozwiązanie, które wysłałeś (optymalizator sql powinien dać ten sam plan), ale "używa aliasu w klauzuli where"