How many Pokemiles can Pokebank store before redeeming them?

YES.

The maximum value of Pokemiles you can have at once on Pokebank without redeeming them is 65535.
This odd number is due to a 16-bit integer value used to store that number.

This means it's better to redeem them once in a while. However, Battle Points counter is capped too, and it can't exceed 9999 BPs.