Why is sharding not possible with a distributed blockchain?
Your question is a little unclear as it only talks about storing, and not really about validating the entire blockchain. Storing is actually not the problem. Recent versions of Bitcoin Core support crude pruning and work is underway to make it more flexible. 

However, to be truly trustless a full node still needs to download and validate the entire history of all blocks (even if deleting that history seconds later). This is what David Schwartz answer comes from: you need a complete history to know whether a transactions was NOT in it.

So in that regard pruning doesn't help mobile devices much.