If you can't code a simple package, what in the world are you doing trying to code around the mutating table issue? Crawling before running and all that...
Code:
CREATE OR REPLACE PACKAGE GLOBAL_PKG
AS
   ...
   g_CTUT_ID	ORA_SYSTEM_USER.CTUT_ID%TYPE;
   ...
PROCEDURE SetCTUT_ID;
END;
CREATE OR REPLACE PACKAGE BODY GLOBAL_PKG
AS
BEGIN
...
PROCEDURE SetCTUT_ID
IS
BEGIN
   SELECT
      CTUT_ID
   INTO
      g_CTUT_ID
   FROM
      ORA_SYSTEM_USER
   WHERE
      CURRENT_USER_ID   =   SYS_CONTEXT('USERENV', 'CURRENT_USER');
END;
...
END GLOBAL_PKG;
Just call GLOBAL_PKG.SetCTUT_ID after login from the application or through a login trigger.

- Chris

(and exact has an E)