You will need a SD card for a while to install the new firmware (I usually find old phones will have one in that will do for updating if you otherwise lack one). That is as simple as having the update program (called ezfla_up.bin) on root of the SD card and holding R when booting. For SDHC it will probably end up in fat32 format, for the SD stuff though it needs to be FAT.
2) GBA emulators do not exist for the GBA -- you play things natively. You need to patch the games to work and most do it with the EZ4client program. Set the program to where your SDHC is, open the ROM(s) you want patched (they can even be in zip/rar form, sadly not 7z) and press patch. It should send the patched ROM and the save to the cart.
NES, GB, GG emulation is quite doable on the GBA. In some cases it is not ideal and I would definitely prefer a DS for most of it but hey.
For NES it is a split between two emulators, PocketNES and HVCA being the emulators in question. Pocketnes will probably do what you want though.
Goomba for GB, Goomba color for GBC and I think SMSadvance is now the suggested GG emulator.
For some reason they can be fiddly for the EZ4 but they should be fixed with stuff from
http://ezflash.sosuke.com/viewtopic.php?f=12&t=12660
Goomba color is still getting the odd update, more
https://gbatemp.net/threads/still-working-on-goomba-color.373395/