Full path traversed for each ID with cycle Oracle
The solution through Hierarchical query clauses seems to be tricky, but there should be a solution, still as an alternative, use your existing PL/SQL code but change the VARCHAR field to CLOB to avoid "result of string concatenation is too long".
you may use the following query in your procedure to accomplish your goal
select id,current into v_your_output_collection from nodes where id = :vIdstart with prev_node is null connect by NOCYCLEprior next_node= current and prior current = prev_node
that works in Oracle 10g and up