Let's make some numbers on this solution as an example:
1- Let's say I want to move on the street with my wallet fill with 100$ in bitcoin (whatever is the exchange rate that day) for my day to day usage.
2- This translated to bitcoins will mean I'll need to have enough addresses with me to create transactions that can go as high as 100$ and as low as 10 cents (we don't want to give away too much change on every transaction)
3- The total amount of addresses will be 1000
This is possible but I imagine the fees that go into creating the daily wallet (or every time you have to get another 100$ for the bitcoin ATM) will not be trivial. In addition, the size of each transaction combining several addresses into one payment means there will be a lot of QR codes sent and waiting a long time for the camera to recognize all of them (up to 1000 addresses in one transaction to pay something of 100$).
No need for a 1000 addresses in this scenario. For each purchase, you will need to have ready only 10 keys: 10, 20, 40, 80 cents, and $1.60, $3.20, $6.40, $12.80, $25.60, and $51.20. This minimizes the number of inputs to a transaction, thus minimizing the fees. It requires you to carry a total which is N*Pmax, where N is the anticipated maximum number of purchases, and Pmax is the maximum price of a single purchase - all divided in the geometric series, as above. This is not a problem (either way you can run out of money, right?), except a risk of higher loss if you get robbed at a knife point and forced to reveal the PIN or whatever secures your wallet. Chances are, the robber won't even know you've got bitcoins, so no real danger there today.
Once you are back online, you can refill the binary bins as needed, adjusting N and Pmax for that day. I have not gotten enough sleep again, so somebody else please try to build a model to evaluate the overall TX fees in this whole story. Does it even make things better?