-snip-
Thanks for the responses.
I am using blockchain.info
I'm not sophisticated enough to understand all of what you both describe, but " There actually is no "from" address on the protocol level a transaction always refers to an old transaction and not to an address." sounds to me like there is no need for a 2nd wallet - If I start a new anonymous account with this business and send funds from the same wallet I used to use with the 1st account, they wouldn't know I am the same person, as "There actually is no "from" address...".
Correct?
Not exactly, please ask again if the below explanation is not good enough either. Its crucial for your privacy to understand how a transaction is created.
While there technically is none, blockchain.info (and other block explorers) still shows an address the bitcoin "came from". What you want to avoid is that you have two address in the "from" section, as seen from the TX I linked above this happens easily. It was actually the first TX I looked at when opening bc.i. The way blockchain.info (short bc.i) works makes it almost impossible for you to avoid this as you have next to no influence on which "from" address shows up. Maybe it helps if you understand how the "from" address appears.
Let say received bitcoin on a certain addresses, lets call them A and B. You got 1 BTC on A and .5 BTC on B, your overal balance is 1.5 BTC. If you want to spend bitcoin you refer to the transactions you received them with. These are called unspend outputs as they are the output of a transaction you received and you did not spend them yet. You are now free (as long as you have the needed private key) to use them as inputs in a transaction that creates new outputs for someone else or yourself. Now if you want to spend 1.2 BTC you have to use both outputs received on A and B as input because either are too small alone. This will result in a transaction that uses two inputs shown as "from" addresses A and B and creates two outputs one with 1.2 for the person you are paying and one with .3 for the rest back to yourself. We assume no fee here to keep the numbers simple. Thus while there are no "from" address this transaction would still show anyone that cares enough to look into it that you (not personally, but as a concept) control both addresses.
The problem with bc.i is that you have no say in which unspend outputs are used as inputs AFAIK. The "Custom" option allows you to limit this somewhat as you can select an address the coins are send "from". But even if you could hand select the inputs like e.g. with bitcoin core you still have the problem that neither A nor B are big enough to create an 1.2 BTC output. You could create a transaction that sends the output from A to C and a second transaction that send the output from B to C as well. Now you have both "on" the same address and can create a transaction with a single "from" address. This would however require a wallet that allows handpicking inputs. To make this even more complicated bitcoin core creates a slightly different transaction when sending to an address within the same wallet, I suspect bc.i does this as well. This is harder to see, but it would still link addresses A, B and C to eachother.
The easiest way I see to avoid all this hassle is to use "Shared Coin" with every transaction and keep the "donate .5%-1%" in place to make sure the amounts do not match.