I think it's a different mindset more than different ways of storing the money.
One of the great things about the method and software called YNAB is that you put all of your money into budget categories at the start of each month (one of the principles is that you have to 'give every dollar a job', i.e. you can't just have a pot of cash called 'spare dosh', you would assign it to Christmas or car repairs or birthdays or house emergencies if you didn't have a known purpose for it in that month).
You then adjust as the month goes along, so if you overspend in groceries, you can take the money from house emergencies or clothing or whatever. But when you're doing that, you're having to make a conscious choice between two, named things. Rather than just spending money and worrying about where it will come from later.
In your case you're choosing between treats and bills. That should be a no brainer. Can you move more of your bills closer to pay day to ensure the money is actually gone before you try to spend it on something else?
I'm guessing you're not keeping a log of everything you spend, whether in a spreadsheet or a budgeting app. But I think this discipline would help you see what you're spending money on and hopefully make you think twice before splurging.
Are you using credit cards for any of this? If you are, I would pay the cards off as soon as you use them - you can pay a card off every day if you want to. So as to avoid creating a false impression of how much money you actually have left.
I would maybe also set yourself a target - if you can avoid overspending in a particular category for a number of weeks or months, you can have a treat (using money you've already set aside of course!)