Ric would be miles better than Bottas, and I don't think he'd be much more expensive. He would gladly sacrifice some salary for a competitive car I reckon. Also 29 is old? Ham is 33 and just got a 2 year extension. By the same that would give Ric at least 5 more years.
RIcciardo isn't as good as Hamilton, personally I don't think it's that close, if he's not on par or better than what is the point of spending big money on such a driver. How much he costs is about what he can get. A competitive car doesn't do him much good if the driver in the other seat can beat him.
The reason his age is an issue is that at 29 there is really no reason to believe that Ricciardo would massively improve and become a genuine world champion so if/when Hamilton leaves they need someone better than Ricciardo and generally that becomes a problem, it's easier to have a more clear no.2 and cheaper to do so also.
It's not about time left in the car, it's about what that time is worth. Would you upset Hamilton for a driver who might retire a couple years after Hamilton does, it's not really worth it, would you upset Hamilton by bringing on Verstappen who could potentially stay for another decade after Hamilton left, yup. Also due to his age there is every reason to think Verstappen can improve further than Ricciardo and he's already the faster driver of the two.
Taking on an expensive older driver who really can only cause problems rather than accept being the second fastest driver just has limited upsides for a big team. IF he was 25, if he'd won less races and been less competitive and was coming from a smaller team so would be cheaper, all these things would make the situation very very different.
His little outburst in terms of trying to force RBR to treat him like a number by risking ruining his own and Verstappen's laps by slowing down on track, the mind games, his belief that he's one of the best drivers around and his seeming insistence on being treated as a top driver and wanting wages matched to Verstappen, none of that screams to the big teams this is a guy who will come in and play ball for the team until such time as Hamilton left. Bottas is a cheaper safer option who is already there and the team like. It's a no brainer to keep him right now.
The only drivers currently racing I think they'd replace Bottas with would be Leclerc and Verstappen neither of whom were available.