0x16 = hex: 16 ist ein Zeichen kleiner Blanks und im JSON nicht erlaubt. Das hat nichts mit dem BASE64 zu tun, denn da kann x'16' nicht vorkommen.
Da musst du mal beim Debugger den Inhalt mit Hex ansehen, wo der herkommt.
Andererseits könnte der Inhalt deines BASE64 bereits dein JSON sein und der Expand passt da nicht zu.

Und wenn du das Compile-Listing für deine CLOB ansiehst, so hast du da da eine
base64String_Length 10I sowie ein base64String_Data verfügbar (wie Birgitta schon sagte).
Somit kannst du direkt mir %subst(base64String_Data:1:base64String_Length) arbeiten und sparst den %trim.

Du lässt dir da nicht in die Karten gucken;-).