1. Assuming you mean the DS, you should start
here. This gives instructions for installing devkitARM, libnds, and various other necessary bits. If you're using Windows, those instructions are pretty brief, because there's an automated installer. Otherwise, they're a bit involved, but fairly painless as long as you know your way around the shell. Once that's done, you can try building some of the examples, and decide where you want to go from there.
2. When you compile your game, you end up with a .nds file. People with DS flashcarts can put this file on and run it on their DS. It can also be loaded into emulators. You can distribute this file in any way that you see fit. You can put it up on your website for free, ask for donations, or even sell it through your favorite digital download shopping cart solution. What you probably won't be able to do is make your game into a physical cartridge that you can sell. Doing that requires that you license the official dev kit from Nintendo, which is expensive and has a lot of prerequisites.
3. This depends on what you mean by "self publish". You can give away or sell your game over the internet yourself, without getting any publishers involved, but if you want a physical cartridge, no, probably not.