use a string array without CREATE privileges
I would use the following approach:

Create a string array type:

create or replace type string_array as varray(1000) of varchar2(10);
/


Use that in a with clause to construct the list of values as a virtual table, and use that table in your query, like this:

with t as (
  select column_value as code from table(string_array('1-ABCD','1-BCDE',...))
)
select 'Accounts', row_id Acct_id, pr_postn_id
from schema.s_org_ext
where pr_postn_id in (select code from t)
UNION
select 'Orders', row_id Order_id, pr_postn_id
from schema.s_orders
where pr_postn_id in (select code from t)
UNION
...