The main good thing about C is that it is usually very portable, whereas BASIC isn't standardised and varies between implementations.
If you're careful about how you code (generally by abstracting device-specific functions), the same C can run on a PIC, an AVR, an MSP430, and a desktop computer. It can be much faster to prototype an algorithm on a PC, since there's no upload step, and you can use advanced debuggers.
Recently I was writing a small program for an MSP430 Launchpad and started to run in to size limitations with the device I had on hand, and it was only about a 30 minute job to convert the lot for a PIC, and most of this was looking at the data sheets and figuring out how to set up peripherals the same way. The bulk of the code didn't require any changes at all. Try doing that with assembler!
If speed is your primary concern, pretty much all C compilers will allow you to add inline assembly.