Well, in Australia they do play some cricket in a stadium with a retractable roof, Docklands Stadium in Melbourne. It isn't a "cricket ground", but they do play some T20s there. I think the rule is when the roof is closed if the batsman hits the ball into the roof, if it hits a part of the retractable roof it is called a dead ball.
Most cricket grounds are completely unsuitable to just throw a roof on and I think you are underestimating just how expensive it might be to convert a single ground into a ground with a retractable roof. They are upgrading a stadium in Sydney that will include a retractable roof and it costs $200 million and it is just a footy stadium, so it is a bit smaller than your typical cricket ground.
Plus how will a closed roof impact the game? Would it give an unfair advantage to say the batting side if they get a day under the roof and in the next innings the other side doesn't get it? Might not matter for T20s or 1 dayers as you can close the roof for the whole game easily, but what about test matches that last over multiple days?