How many tennis balls does a player have to choose from at a time?
I know every 7 games they play with new balls, but I do not know how many balls are in use at the same time.
Is the rule the same for ATP/WTA matches and Grand Slam matches?
New balls are requested by the chair umpire after the first 7 games of the match, and then every 9 games thereafter. It is done this way since the players warming up with the first set of new balls is considered to amount to the normal wear and tear of 2 games.
When the chair umpire calls for new balls, the ball kids (if present) will collect the balls and put them back into the empty cans they came from and (usually) put those cans back into a case (cardboard box) sitting beneath or to the side of the chair umpires chair. If no ball kids are present, lines persons will usually perform this task. These "used" balls typically become practice balls that players can request to borrow for practice after they are brought back in from the courts after that days matches are completed.
To answer the question - each round of new balls typically consists of two cans of three balls, so six balls in total. I don't know why six balls - but that has been the number for a few decades now.
In watching matches, you might see some players be particular about each ball kid holding an even number of balls - so they will ask for a ball from one kid just to hit it over to the others so they don't have to later worry about which ball kid they can ask for balls from after the point is over.
If one of the six balls gets taken out of play (either hit out of the court or over a fence, into the seats and not thrown back, or gets broken during play, etc.) it is not usually replaced and the players will just play with one less ball until the next round of new balls.
Edit: To answer the edited question: yes, these same rules are followed by all ATP/WTA and Grand Slam matches. The ATP/WTA adopted their practices from the Grand Slams.