How to make the following expression sound natural (and be grammatical)?
This bank account gives 2% on whatever amount of money that you have in your account.
For example, would it be more natural to say "has a 2% yield" instead of "gives 2%"?
This depends a little on what reading level you are aiming for - 'yield' might be too technical for some audiences, and the grammar of your example is a little 'off' to my ears. Saying "amount of money" in this context is a little redundant, either word would be perfectly understandable on its own.
Typical for a UK bank advert might be: "This account pays 2% interest on the account balance."
Banking practices in the USA are very different though, so probably have different standard phrases too.