By "account", it looks like you're referring to "database account", not accounts within the application.
In my experience, if a seeded database userid is being used by Oracle and you let the password expire (due to expiration rules) without pro-actively changing the password, you may quickly discover all of the things that can go wrong with the Oracle application.
Metalink would be a great resource to get Oracle's recommendations on changing passwords for seeded accounts. I haven't seen any Oracle documentation that would restrict your ability to implement password complexity.
This Metalink document should help with APPS, APPLSYS, and APPLSYSPUB:
How To Manually Change The APPS, APPLSYS and APPLSYSPUB Passwords in Oracle Applications
Note:160337. 1
IMPORTANT NOTE: Please only use this note as a last resort. The supported method of changing the APPLSYS password is to use FNDCPASS, and this will also change the APPS password automatically.
Additionally, it is recommended to not change the APPLSYSPUB password.
A few other Metalink documents that may be useful are:
Note 189367.1 - Best Practices for Securing the E-Business Suite
Patch 4926128 - ORACLE DEFAULT PASSWORD SCANNER
Note:398942. 1 - FNDCPASS Utility New Feature ALLORACLE
Goal
Explain the usage of a new FNDCPASS Utility feature introduced in 11.5.10 RUP 3 to change Oracle EBS base product schema password with a single command line invocation.
Starting with Release 11.5.10 RUP 3, a single command line invocation of FNDCPASS changes the password for all Oracle EBusiness Suite base product schemas, which number approximately 200.
Upon installation of Oracle Applications, a number of schemas (sometimes called ORACLE schemas) are present in the database. You do not need to create these schemas; however, you should change the default passwords. These schemas come from different sources and can be described as being of the following types:
1. Schemas that exist in every Oracle database (whether used by Oracle Applications or not) [ex: SYS,SYSTEM].
...<snip>...
Your list didn't include SYS or SYSTEM. I asked our DBA to provide "a list of all database userids with update access to at least one table within the Oracle database". His list is below. A few of these may be specific to our implementation.
AD_PATCH_MONITOR_ ROLE
AMV
APPLSYS
APPS
AR
CS
CTXAPP
CTXSYS
DBA
EGO
EXP_FULL_DATABASE
GATHER_SYSTEM_ STATISTICS
ICX
JTF
OKR
OLAPSYS
OLAP_USER
PA
PUBLIC
SELECT_CATALOG_ ROLE
SYS
SYSTEM