Since there is already a well defined way to do it (OR'ing and an IN is just expanded to an OR) - it is not likely to generate too much attention
unless and until the ansi committee thought it was a good idea and folded it into the standard for the language.
of course, there is always this:
ops$tkyte%ORA10GR2> select *
2 from all_users, table( sys.odcivarchar2list( 'SYS%', 'OPS$%' ) ) x
3 where all_users.username like x.column_value
4 /
USERNAME USER_ID CREATED COLUMN_VALUE
------------------------------ ---------- --------- --------------------
OPS$ORA10GR2 56 14-DEC-05 OPS$%
OPS$TKYTE 435 27-OCT-08 OPS$%
SYSMAN 51 30-JUN-05 SYS%
SYS 0 30-JUN-05 SYS%
SYSTEM 5 30-JUN-05 SYS%
not that I'm recommending it (I'm not) and it does suffer from the "join" problem in that you probably need DISTINCT to avoid getting the same data twice...
ops$tkyte%ORA10GR2> select *
2 from all_users, table( sys.odcivarchar2list( 'SYS%', 'S%' ) ) x
3 where all_users.username like x.column_value
4 /
USERNAME USER_ID CREATED COLUMN_VALUE
------------------------------ ---------- --------- --------------------
SCOTT 84 12-FEB-06 S%
SI_INFORMTN_SCHEMA 45 30-JUN-05 S%
SYSMAN 51 30-JUN-05 SYS%
SYSMAN 51 30-JUN-05 S%
SYS 0 30-JUN-05 SYS%
SYS 0 30-JUN-05 S%
SYSTEM 5 30-JUN-05 SYS%
SYSTEM 5 30-JUN-05 S%
8 rows selected.