With Static SQL (programs with embedded SQL that get pre-compiled, compiled and the bound), the isolation level is an option on the pre-compile and bind commands.
For Dynamic SQL, there is a default isolation level set for the database by the Create Database command. It can be changed with the AUTOCONFIGURE command (either during or after database creation). The default is RR unless it has been changed. Not sure how to see what it is (maybe a registry value). This affects ODBC and CLI interfaces to DB2.
For a particular dynamic interface process into DB2, the isolation level can be changed dynamically with the CHANGE ISOLATION LEVEL command. This does not affect other process, but will apply to every connection made from the same command line processor back-end process.
For JDBC and SQLJ the CLI interface default is used, but can be changed with the setTransactionIsolation method in the java.sql interface connection. In SQLJ, you run the db2profc SQLJ optimizer to create a package. The options that you can specify for this package include its isolation level.
You can also override the isolation level with an SQL statement (at least certain statements) using the WITH clause (WITH UR, for example). This is valid on SELECT, SELECT INTO, Searched DELETE, INSERT, Searched UPDATE, and DECLARE CURSOR, SQL statements.