The dynamic referencing you want does not exist in PL/SQL.
That's why I suggested the indirect referencing scheme, ie,
create or replace procedure p_test (
p_parm_vals in array_as_per_before
) is
begin
FOR L IN (
SELECT COLUMN_NAME, NULLABLE
FROM SYS.USER_TAB_COLUMNS T1, SYS.USER_TAB_COMMENTS T2
WHERE T1.TABLE_NAME=UPPER('T_TEST') AND T1.TABLE_NAME = T2.table_name AND T1.NULLABLE = 'N') LOOP
IF PKG_PARAMUTL.ASSERTNULL(
p_parm_vals(L.COLUMN_NAME)
)
THEN
HERE WILL DO SOMETHING
END IF;
Hope this helps