DB2-Cloudescape hat ja mit AS/400 nix am Hut sondern ist eine ja eine eigene DB.
CCSID's spielen da überhaupt keine Rolle, da ja sowieso alles in Java ist (Unicode ist da Standard).

Die QSYSLOCALE kann separate installiert werden und ist eine Bibliothek.
Man kann dann eine Locale erstelle (z.B. DE_DE.locale) und diese dem USRPRF zuordnen. Desweiteren gibt man im USRPRF dann an, dass die CCSID aus der Locale beim Job angewendet werden soll.

QCCSID und QLANGID sind Systemwerte (WRKSYSVAL).

Wie nun die Verbindungseinstellungen über PHP gemacht kann ich nicht sagen.

Über ODBC kann man in der Konfiguration angeben dass der SQL-String selber als Unicode gesendet werden soll.
Dies betrifft SQL's, die eben zusammengebaut werden, wie:

"select ... from myfile where key='abcd'"

Bei Verwendung von Markern entscheidet der Parametertyp:
"select ... from myfile where key=?"
Der SQL selber muss hierfür nicht in Unicode sein.

Beim Lesen von Resultsets/Recordsets sind die Unicode-Spalten auch automatisch in Unicode, da dies durch die Tabelle bestimmt wird. Eine Umsetzung ist da nicht erforderlich.