Is there a way to directly reference a table and field in an earlier query that was not not explicitly referenced in that query?
Short answer? No. A query is not a wide-open conduit to
every field in every table used in the query.
The FROM clause lists the
sources of data to be returned by the SELECT query. These sources can be tables or other queries. Query nesting is allowed up to a high enough limit that I would not care to contemplate that deep a query.
The query's SELECT sub-clause lists the fields or other data (e.g. expressions) to be returned from the recordset sources named in the FROM clause. If your field in question doesn't appear directly in the comma-separated list of "things returned by the SELECT query" (between the words SELECT and FROM) then it is not in the query's so-called
result set. The whole point of a SELECT query is that it explicitly selects
what is going to be returned and
how it is returned (i.e. simple values, formulas, formatting functions, etc.) but it only returns what you
explicitly asked for and nothing else.
In fact, there is a rarely discussed subject called "Interrogatory logic" that is the study (within the broader field of logic) of whether a particular question and answer actually go together. I bring it up here because under interrogatory logic rules, if a query returned something that wasn't asked of it, that query engine would be considered as inaccurate, failed, or broken.
Therefore, the answer to YOUR question is NO. If you didn't mention a particular field in query A then query B can't see that field even if it references query A.
Now, here's the really ugly side-effect of what you asked. Let's say you ran query A and, whatever you wanted from it, you got. Then you started query B. IF query B references query A within itself, query B must re-run query A because once query A exits, the result-set is DISCARDED. That is, layering means you must run (or as implied in your question, RE-RUN) every query layer from scratch. So if you were trying to take a short-cut to get to that field, EVEN IF IT WAS IN QUERY A that you just ran, you have to run query A a second time (based on the exact way you asked your question.) Query results are NOT persistent. They are not cached somewhere after they close. If a query is closed, it contains NO DATA.