One possible answer is to just store in billions (2.15 = 2,150,000,000) - though this won't work if you're adding small numbers to a large number.
Another approach is to add a 'multiplier' field that contains a thousand, million or billion - and multiply the numbers together when required for reporting.
Finally, you could store the number in a string and validate/copy it to/from the number property in RetrieveMultple and PreSave plugins. As long as you're not saving the large value in the number field, you can use it to hold transient large values. Use a string as a persistent holder. Hacky, yes - but at least you can then use the value in charts etc.
The 'currency' type is unstable to use