That seems like quite the project! And your English is great; until I got to your apology for "bad English" I had no idea it wasn't your first language.
Do you know we have a similar carrier? Sparkfun used to sell our TB6612FNG carrier until they made their lower-quality (it's physically bigger, has no reverse power protection, and has less thermal coupling of driver to PCB) and more expensive copy.
You never told us any specifics of your motors, other than that they will likely be 6V motors. The above motor driver can deliver 1A continuous per channel (3A peak), so if you want to use them, you will need to make sure that your motors' power requirements can be met by this driver. Our non-HP micro metal gearmotors can be easily driven by these drivers; our HP micro metal gearmotors will push the limits of these drivers if you let them get close to stall for too long or if you use them at voltages much higher than 6V.
I know of people who have controlled on the order of 20 motors with various microcontroller boards, but they have used more advanced motor controllers that take a high-level input such as serial commands rather than motor drivers, which require low-level signals such as PWMs that will be very difficult to generate with a single microcontroller board like the Arduino (it isn't trivial to generate 20 PWMs). You will also need significantly more I/O lines than the Arduino has.
Even though it is a more expensive solution, I'd strongly recommend using 10 qik 2s9v1 motor controllers to control your 20 motors. This board uses the same TB6612 motor driver IC as the driver carrier board linked above, so it has the same performance characteristics, but it has an integrated microcontroller that generates the low-level control signals for you in response to high-level serial commands. You can chain all 10 controllers together using a single serial transmit line from your Arduino (note that you cannot connect their outputs together directly, but you can use an AND gate; the qik output is optional), and then send commands to each device telling it what speed and direction to turn the motors.
Are you asking if it is physically possible to make a single board with 10 motor driver ICs on it that can control 20 motors? Sure, though this wouldn't necessarily be more convenient than having multiple smaller boards if you want to spread out your motors. Are you asking if we would make such a product? Not anytime soon (we haven't had much (any?) demand something like this).
Yes, you want to look for motors with encoders, or add encoders to your existing motors. Note that if you want to be able to tell the direction of rotation as well as speed (which is usually important if you want to keep track of motor position), you will want quadrature encoders, which generate two outputs per motor. It definitely will not be easy to track 20 quadrature encoders with an Arduino (both in terms of required I/O lines and required processing power). Are you intending for all the motors to be moving at once?