Why is there a coin cap of 45B and not for example 45M or 21M or 45.8B? What's the reasoning behind that?
One reason for billions of ADA rather than millions may have been to encourage adoption. Psychologically, people are more likely to buy something when it is perceived as "cheap", and with a large supply of coins, the value of 1 ADA is likely to stay lower, longer (in fiat exchange rates). It also allows people to own whole numbers of tokens, and larger amounts, both psychologically rewarding.
This is my own speculation, @gRebel shared the only official source I have seen.
A simple and rational explanation for this lies in the plane of demography. Now the planet Earth is a home for about 8 billion people. Based on this figure, in the future, everyone could potentially have 5-6 whole ADAs, not fractions of it, like many Bitcoin holders have. Psychologically, this is much more pleasant for the holder.
It could have been inspired by Bitcoin. A possible reason for 21 million Bitcoin is that Satoshi used a signed 32-bit integer as a reference for the supply. The possible number of values in a signed 32-bit integer (2^32) is between -2,147,483,647 and 2,147,483,647. Divide the latter by 100 (for US cents in a dollar) and it's around 21 million.
With Charles having been in Bitcoin since the early days, it's possible he was familiar with this line of thought and therefore decided to use a similar approach. Except he used an unsigned int which has a value of between 0 and 4,294,967,295. Multiply that by 10 (which could be arbitrary) and you get around 42 billion.
Although this is purely speculative, it possible. Some references to similar discussions in early days Bitcion.