This has probably been answered a million times but I'm unable to find an answer
How would I go about powering more components? For example if I had 20 LEDs obviously the 5v from the arduino isn't enough voltage and current to fully power all 20
How would I be able to control each of them and power them at the same time? How would that wiring go?
The microcontroller on the Arduino has both a per-pin current limit, and a per-port current limit and also a total current limit for its supply pins too.
So even if the supply could handle the current (USB gives 500mA) the chip can't handle
20 LEDs at 20mA, since IIRC 150mA is the limit from Vcc or GND.
There are chips that do constant-current drive for 16 LEDs, although they are all
surface mount packages, there is probably a breakout for one of them somewhere.
The 74HC595 is a commonly used option for driving 8 LEDs, it is a latched shift
register, very similar to the constant-current LED drivers except you need to add a
resistor per LED to limit the current to what the chip and LED can handle. Its
available in DIP package (breadboard friendly).
Whenever switching lots of LEDs be sure to use plenty of decoupling for the chips
doing the switching.