OK, first of all most flash carts will do what you want, but the R4 is a little outdated, so I'd go with something else. If you want a really simple and inexpensive one, go with the DSTT. The Acekard 2, Edge, and SCDS1 are also recommended by a lot of people but they're slightly harder to use. DealExtreme.com has the best prices for many carts, but they are pretty slow (expect like 3 weeks for your cart to be shipped to you). If you want one quickly, I like leetmod.com (a bit more expensive, but faster shipping). You'll also need to buy a microSD card. I would recommend getting a 2GB Japanese Kingston microSD, which will let you store around 50 games or so at a time (you can always delete ones you don't want and replace them with new games).
Most carts will run SNES and NES games with the right emulator (emulators have to be installed onto your microSD card like a regular game). To play GBA games, you need a slot2 GBA expansion pack such as the eWin 2in1 or the EZ 3in1. I would get the 2in1 because it's generally cheaper, and particularly if you get a DSTT get the 2in1 because there is more support for it with that cart. To use the GBA expansion packs with some carts, you'll need to use the GBA ExpLoader program. Other carts like the Acekart 2 will run GBA games without GBA ExpLoader with certain slot2 carts.
Yes, you use your slot1 cart and your slot2 GBA expansion cart at the same time to play GBA games. The games are stored on the slot1 and then loaded to the GBA expansion cart to play the GBA game. The save file for the GBA game is saved on the slot1 cart.
No, the DS doesn't need to (nor can it be) be plugged into the computer. But in order to put games and your cart's firmware onto your microSD card, it needs to be attached to your computer via a microSD card reader (one comes with most carts). You'll need to download the firmware for your cart from the manufacturer's website. In general, you'll put the firmware files onto the root (top level) of your cart, and you will want to make a folder named "games" (or whatever name you want) and place your games in it. You might want to have a separate folder for GBA games. Place your emulators and other homebrew (programs that are written by individuals) into another folder, etc.
Once you have your cart's firmware and your games (and emulators and other homebrew if you like) on your microSD card, you remove it from your computer (be sure to use the "safely remove hardware" option) and put it in the slot1 cart. When you insert your slot1 cart into your NDS (like a regular game cartridge) and turn it on, it will load the firmware and show you a menu where you can select what game you want to play.
I hope I answered most of your questions.
-Bri