Is it possible in Red to test value? for a variable inside a context not in global context?
By definition, no. Because there is no such thing as "the global context".
Remember that "Rebol (Red) actually does not have scope at all" ... "Rebol (Red) fakes it."
(See: Is there a overall explanation about definitional scoping in Rebol and Red)
Rebol has BIND? for asking an arbitrary ANY-WORD! where it's bound to (if anywhere). Red calls this CONTEXT?. So what you can do is ask if the binding of a word is to a context you care about.
ctx1: context [a: 10]
ctx2: context [a: 20]
word: bind 'a ctx1
print ctx1 = context? word ; true
print ctx2 = context? word ; false
So if what you mean by "global context" is actually the so-called SYSTEM/WORDS object, then that can be your test:
context [
probe value? 'a ; false
]
context [
a: 1
probe system/words <> context? 'a ; true
]
a: 1
context [
probe system/words <> context? 'a ; false
]
As to whether this is appropriate for your purposes, I don't know. Just remember there's no scope in Rebol/Red, unless you rig up some fake approximation that works well enough for what you're doing.