It's good idea if i look at different perspective, but obviously this won't be implemented on Bitcoin mainly due to security, decentralization or development complexity (i'm sure you know which features have which problem/weakness).
The "checking account" needs to reward people when they spend the coin not when they circulate it! (you don't want someone making 2 accounts and spamming transactions to himself).
How do you identity if they spend the coin or just send the coin to himself?
The "saving account" need to be stable (wouldn't make sense to save your money to find out that you lost 90% to make a 5% interest due to price variation), private (no one wants others to know their balance...), easy to used addresses (like domain names instead of IP's)
Does that mean user required to buy a name and pay small amount of coins since AFAIK there's no way to generate easy to used address from public key. If it's like domain names, i'm sure people will buy good names as much as they can and sell it more expensive later just like domain.
Someone came up with a good idea, that stores can instead issue reward points instead of cashbacks and these reward points result in discounts.
Stores would want to issue reward points to attract customers to their stores vs others (in fact a lot of stores got this point rewarding system implemented already, and these rewards can increase especially that there isn't a service like visa charging them fees everytime a payment is made using visa cards.
You can have free generated account names, then also a market place for those who want to buy unique accounts. I believe Pascalcoin right now is doing that right now.