note that lookup-var is just a function ... i'm surprised that load/include gives me different results
Why are you surprised? If two functions exist, then they do two different things.
The fact is that LOAD is a function (eval'd at runtime, as one explained you), and that INCLUDE is not. Include is a reader-macro. When the parser sees an INCLUDE, it parses the source code of the other file, and then inserts it instead of that form.
No magic here.
P!