1) There is not a best language to start with, it is usually a matter of opinion and preference.
2) Yes and No, it depends what you want to do.
3) There are many, again it depends on your targeted area.
My personal recommendation for starting programming is C/C++ or C#. I taught myself QBasic when I was in 5th grade. Learned HTML 6-7. Took a VB Class in High school, but I already knew more than the teacher.
I am mostly self taught.