Question A)
When a node receives a block, what does it check for to verify the validity of transactions within it?
What are these checked against?
When a node receives a block, it checks all the previous transactions that tally with the wallet that the sender or the transaction request creator used to send bitcon by means of the reference that each one has as inputs.
The network node has a special record of unspent transactions to speed up the process of checking.