Energy = force * distance
After each bounce you are left with 60% of its energy, so it comes back up 0.6 times as high as the previous bounce.
Distance falling in time t is proportional to the square the time, so each bounce takes sqrt(0.6) times as long as the previous bounce did.
Thus the timing of the bounces forms a geometric series. It is well known that the sum of such a geometric series is 1/(1-r). In this case r = sqrt(0.6) which is roughly 0.774596669241483 and so from the time it first hits the ground to the time it it finishes bouncing is approximately 4.43649167310371 times as long as the time for the first full bounce. But we didn't start with a full bounce, we dropped the ball. Thus we start with a half-bounce, followed by a full bounce that takes 2 * sqrt(0.6) times as long, followed by the rest of the sequence. This works out to be 7.87298334620742 times the time it took to initially fall to the ground the first time.
Hopefully I haven't made any silly mistakes. If I have, correct the error and the general analysis is correct.
In this case the time taken forms a geometric series, and the total time taken is the sum of that geometric series. Which means that, for the same mathematical reasons that let Achilles catch the tortoise, it stops in finite time.
Personally, I call that "not bouncing".
If you have infinite bounces, and I ask you "Which number bounce in the series happens at exactly time X?", there is a time for X for which you will not be able to give an answer.
This is because there is a limit for the latest time at which bounces happen.
Yes, even with infinite bounces.