If I understand correctly, you want to prevent the evaluation of some of the variables. One option to do this is to use multiple Expr().
As you didn't share the script, I will try to use very simple example which hopefully demonstrates what you can do. Compare the script, table script and script which is inside frame box
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(525, 454),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
script = EvalExpr(
vals = [55, 60, 70];
Eval(EvalExpr(
Current Report()[FrameBox(1)] << Add Graphics Script(
Local({myvals = Expr(Expr(Expr(vals)))},
Pen Size(1);
Line Style(1);
For(i = 1, i <= N Items(Expr(Expr(Expr(vals)))), i++,
H Line(Expr(Expr(Expr(vals))));
);
);
);
))
);
Eval(EvalExpr(
dt << New Script("Test", Expr(Name Expr(script)));
));
-Jarmo