So, basically, before the Transaction is even made, there has to be a pointer to the FROM address to check if the funds are sufficient. Am I correct?
On a technical level, there are no 'addresses'.
Bitcoin is based on a UTXO (Unspent Transaction Outputs) model.
You 'destroy' UTXO and create new ones. If you use UTXOs as input which do not exist, each node will ignore it when validating it using their 'list' of all UTXOs.
Validating a transaction happens upon receiving it.
Does this answer your question ?