When using a storage variable, a Solidity smart contract can access only its latest value. The updates of this variable throughout the blockchain are hidden and only the up-to-date state is accessible.
However, is it possible to know (in solidity) the block a variable was last updated at?
// Instance variable uint v;
In a transaction in block 1000:
v = 0x1234;
In a transaction in block 1200:
v = 0xabcd;
uint a = v; // a == 0xabcd // Imaginary function, it does not exist getLastUpdateBlock(v).number; // 1200
Note: despite of its name, Get latest update time-stamp of contract variable actually refers to all transactions that refer to a variable. Maintaining all these changes would be costly, thus the answer ("not possible") is not surprising. However, keeping only the block of the last update would "just" roughly double the memory usage (var alone becomes var + block hash). So I think asking this specific question is worth a try.