Your first and second paragraphs are two different cases.
Moving money between a checking account and a savings account will credit Cash and debit Cash, making a GL transaction unnecessary, unless the amounts in the two bank accounts are tracked as two separate GL accounts. You might have account 1001 (Cash-Checking) and account 1002 (Cash-Savings). In that case, a movement of money between these two accounts should be tracked by a transaction between the GL accounts; credit checking, debit savings. It won't affect your balance sheet, but depending on your definition of liquidity of assets it might affect working capital on your statement of cash flows (if you consider the savings account "illiquid" then money moved to it is a decrease in working capital).
Basically, what you are creating with your "store credit" accounts for each client is an "unearned revenue" account. When clients pay you cash for work you haven't done yet, or you refund money for a return as "store credit" instead of cash, the credit is a liability account, balancing an increase in cash, inventory, or an expense (if you're giving credit for free, perhaps due to a mistake on your part, you would debit a "Store Credit Expense" account). This can be split out client-by-client in the GL if you wish, avoiding the need for a holding account.
The way you want to do it, you'd have a "Client Holding" account. It must be unique in the GL and to the client, and yes, it is a liability account. To transfer to holding, you simply debit Unearned Revenue and credit Client Holding, logging the transaction as "transfer of client store credit" or similar (moving liability to liability; balance sheet doesn't change). Then, as you sell goods or services to the client, you debit Accounts Receivable and credit Revenue, then to record the payment you credit AR and debit Client Holding (up to its current credit balance, after which the client pays you Cash and you debit that, or the client still owes you). To zero out a remaining balance on the Holding account, debit Client Holding and credit Unearned Revenue.
I don't think the Holding account, the way you want to use it, is a good idea. If you want to track each customer's store credit balance with a GL account, then create specialized Unearned Revenue accounts for each client who gets a store credit, named for the client and containing their balance (zero or otherwise). If you don't care about it at the GL level, then pool it in one Unearned Revenue account (have one Store Credit account if you must), and track individual amounts off the books.