Gnucash is an accounting tool, and accounting-wise the concept of a "loan to myself" doesn't really make any sense. A loan in accounting-speak is either a liability (if it's money you owe somebody else) or an asset (if it's money that somebody else owes you). Gnucash (and double-entry accounting in general) doesn't really work well with the "budgeting envelope" approach of having a bucket of money but pretending to yourself that it isn't there.
The closest thing you can get is subaccounts. So, rather than your asset accounts strictly matching up exactly with your actual bank accounts, you can divide them in subaccounts, with an account structure like:
- Long-term Savings
- Short-term Savings
- Free to spend
And the various subaccounts of "Savings" would add up to be the amount that's actually in your bank savings account. You can transfer money between the various "buckets" that you've set up in your own transactions that your bank knows nothing about. In your example, you could transfer $25 from "Long-term Savings" to "Free to spend", and then transfer further from there to your Expense accounts.
It makes a bit trickier to reconcile with your bank statement, but it's doable if you really want to approach it like that. If you want to figure out a total of how much you have transferred out of "Long-term Savings" to other savings accounts, you can create a Transaction Report on that category, which might be the closest thing to figuring out "how much you need to pay yourself back".
But it sounds like the way you want to approach your accounting is more of an envelope-based approach than a double-entry-based approach, so you may want to (1) explore if some other personal finance tool is more to your liking, or (2) rethink how you want to frame your finance in a more double-entry-friendly way.