I was reading through this
https://en.bitcoin.it/wiki/Scalability and wondering were the clients are with implementing the scalability upgrades?
Is every transaction with BTC recorded in the blockchain which is downloaded by every wallet?
Yes they're all recorded in the blockchain, but no they're not downloaded by every wallet. Satoshi laid out a lightweight p2p mode called Simplified Payment Verification (SPV) in his whitepaper, which has been implemented in the bitcoinj library, and used in the Multibit and Bitcoin Wallet apps, among others. Neither of these apps need to download any other transactions than are relevant to the user.
Is all the history stored? Sounds like it....
Only for full nodes, which most end users probably won't be running. All the groundwork has been laid for blockchain pruning, it's just a matter of rolling it out such that there are always enough "archive nodes" present.
How can this scale if millions/billions of customers start using BTC from their wallets stored on their smartphones?
Wouldn't the network get overwhelmed if every wallet/node had to be kept in sync?
If you're running a full node, then you're "giving back" to the network while you take, so this is scalable. But too many SPV nodes (which don't give back to the network) might end up overburdening the full nodes that serve them. In this event you could connect to a full node you personally run, or maybe micropayment channels will end up being built in to incentivize full nodes to serve SPV nodes.
Centralized services like Electrum and blockchain.info will also compete with the p2p approach, and may be good for picking up slack, but I think there are good reasons to be wary of a few centralized services ending up as the "gatekeepers to the blockchain" for most people. Though this could be pretty difficult to prevent, and has to a large degree already happened.