Was willst du mit einer Identity von max. 32767 Werten;-)?
Eine Identity dient i.d.R. auch als Primary Key und sollte daher mindestens Integer sein.

Mit Table Functions habe ich bisher keine schlechten Erfahrungen gemacht.
Die IBM baut ja selber dauernd neue für die ganzen Vewaltungs-API's (Service-Views).

Table-Functions und Procedures dienen ja nur zur Verbergung von direkten SQL-Zugriffen und stellen zumindest nach meiner Erfahrung kein Problem dar.

Was das Create Table angeht, so kann man natürlich einen Satzformatnamen angeben, in RPG/LE kann man den aber auch umbenennen.

Aber wie immer in der IBM i-Welt: es gibt 100te Meinungen und 1000de Lösungen;-).