You stated that you can not have a For Loop in a formula. The actual statement about For Loops in formulas is that there is not need to use a For Loop in a formula to loop through each row in a data table, because formulas are automatically applied to each row.
But if there is a need for a For Loop to be run on each row, then it can certainly be used.
Here are 3 ways to write a formula that will do what I believe is your desired result

If( Is Missing( :Scan input ),
theResult = "",
theResult = "OK";
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( :Blacklist == :Scan input[i],
theResult = "NG";
Break();
)
);
);
theResult;
If( Is Missing( :Scan input ),
"",
curBlacklist = :Blacklist;
If( N Rows( Current Data Table() << get rows where( :Scan input == curBlacklist ) ) > 0,
"NG",
"OK"
);
)
As Constant( Summarize( ScanList = by( :Scan input ) ) );
If( Is Missing( :Scan input ),
"",
If( N Rows( Loc( ScanList, :Blacklist ) ) > 0,
"NG",
"OK"
)
);
Jim