If you don't have a 3ds that is eligible for the ambassador program, you can't download the gba games for free. Meaning, there's no legal way to 'download' gba games and play on your 3ds (the only legal way to do so, would be to buy the games and dump them yourself). Since you're talking about the 3ds here, I'm assuming you want to play gba games on a 3ds.
There certainly are slot-2 flashcarts (i.e. EZ-Flash IV), but the 3ds doesn't have a slot 2; the only way is to emulate them is to use a slot-1 flashcart that supports the 3ds, and has on-board cpu that allows gba emulation. Your best investment would probably be on a SuperCard DSTwo. It supports the latest 3ds firmware and can emulate gba without the need of expansion packs. It's a little pricy, though.
tl;dr get a SuperCard DSTwo