Like Fast says, any emulator allows you to map buttons as you see fit, and
cheats are the way to go if you're using a flashcart to run DS ROMs. As for actual carts, you'd have to mess with the hardware of your DS, which I don't recommend even if you know what you're doing.
Any flashcart with a built-in cheat function (that is, every one I know of) can be used to remap DS ROM controls. You just have to ask on the
cheat forums, or learn how to design
cheat codes yourself. I know of a couple of control remaps (most of them allow the use of the face buttons in touchscreen-only games); the original Scribblenauts has one, and so does Phantom Hourglass.
As for GBA games, you need a flashcart capable of running a GBA emulator, and from what I've heard most people seem to like the Supercard DSTwo the best. At least, it's the one I hear mentioned the most.