you've guessed correctly, you can just move (REN for rename in Windows) the wallet to another filename with bitcoin-qt not running, start it back up and it will create a new wallet.dat. here's an example using americancoind on the Linux command line, hopefully you can extrapolate to using the Bitcoin GUI. note that you need to start the program with the -rescan option after each time you swap the wallet, or you will not see your funds, as described here: Import wallet.dat into a new Bitcoin-Qt client
it gets a little tricky sending funds from one account to another this way, though. note that I'm not showing the output, by the shell, of the jobs starting and stopping in the background, because it can be unnecessarily confusing.
jcomeau@aspire:~/.americancoin$ americancoind stop
Americancoin server has now stopped running!
jcomeau@aspire:~/.americancoin$ mv wallet.dat my_wallet.dat
jcomeau@aspire:~/.americancoin$ americancoind &
wait a minute or so here, for the last 2500 blocks to be verified, before the RPC server starts...
jcomeau@aspire:~/.americancoin$ americancoind getnewaddress ''
AzpvNNAUFYjW79uCS1Q9ALNSVhABqrUC1U
jcomeau@aspire:~/.americancoin$ americancoind stop
Americancoin server has now stopped running!
jcomeau@aspire:~/.americancoin$ mv wallet.dat group_wallet.dat
jcomeau@aspire:~/.americancoin$ mv my_wallet.dat wallet.dat
jcomeau@aspire:~/.americancoin$ americancoind -rescan &
wait another two minutes or so, there's more to do with -rescan.
jcomeau@aspire:~/.americancoin$ americancoind walletpassphrase MyPassFrazeYeahRight 60
that unlocks the wallet for 60 seconds, assuming you have set a passphrase for it... in Linux, precede the command with a space so that Bash doesn't store the passphrase in your .bash_history file.
jcomeau@aspire:~/.americancoin$ americancoind settxfee 0.0
true
the true above was the output of the command. you don't really want to lose any money shuffling funds between accounts, do you?
jcomeau@aspire:~/.americancoin$ americancoind sendtoaddress AzpvNNAUFYjW79uCS1Q9ALNSVhABqrUC1U 1.0
9982de4dc77eab126d2ad4837db477577bbeee733ef381c1889576cfbd328473
you probably ought to cut-and-paste the address to avoid mistakes! again, the 2nd line is the output of the command, the transaction number.
jcomeau@aspire:~/.americancoin$ americancoind stop
Americancoin server has now stopped running!
jcomeau@aspire:~/.americancoin$ mv wallet.dat my_wallet.dat
jcomeau@aspire:~/.americancoin$ mv group_wallet.dat wallet.dat
jcomeau@aspire:~/.americancoin$ americancoind -rescan &
now you wait about 20 minutes; enough time for the transaction to have been packaged into a block, then 6 confirmations at about 1.5 minutes each. finally:
jcomeau@aspire:~/.americancoin$ americancoind getbalance
1.00000000
just remember to shutdown the program before each change of wallet, and to startup with -rescan afterwards (or however it's done with bitcoin-qt).
if something doesn't work, there's more info on this process here: coin seems to have gone to a duplicate address
Why not just use two different addresses from the same wallet.dat? It would require a little computation whenever you wanted to track payments to one of the two addresses, I guess, which could be annoying. You could use the debug window, though, and use 'getreceivedbyaddress' to make it a little more automated. You might also look into the watched addresses feature of Bitcoin core 0.10. – morsecoder – 2015-02-03T14:03:56.620