I do understand that every block is validated in terms of the blocks before it by way of the previous block's hash, all the way back to the genesis block. However, could the protocol be modified such that the blockchain is a sliding window over the most recent N number of blocks? How likely is it that some block from 1 year ago later turns out to be invalid?
How likely is it that some block from 1 year ago later turns out to be invalid?
Very unlikely, but I think that isn't the problem.
The problem is, how does a new user find out the current state (UTXO set or equivalent) without having to trust other parties? Any community has dishonest people preying on it.
You cannot ignore, expire or invalidate unspent UTXO from much earlier blocks. That is someone's savings and the community wont throw their savings away or arbitrarily take away their peers savings. To do so would undermine the credibility of the currency. Any such change would be ignored and not be adopted by the majority.
If your objection is specifically to the requirement to store old blocks (as you hinted in a comment), then you might consider pruning - see How can I run bitcoind in pruning mode?.