1. Di preciso non saprei proprio, ma occhio direi tra i 500 e i 1000, considerando i vari linguaggi di scripting, quelli compilati, semicompilati, imperativi, dichiarativi e quelli volutamente "astrusi"... Eiffel, Lua, C, C++, C#, D, B, bash, dash, csh, zsh, korn, ada, actionscript, java, ruby, python, sql, prolog, perl, haskell, pascal, fortran, i vari assembly, cobol, i vari basic, delphi, objective-c, smalltalk, lisp, i vari fungoidi, brainfuck, sono quelli che conosco o di cui ho sentito parlare.
2. Tra quelli che conosco il più difficile è sicuramente C++ perché è stato creato in modo da essere volutamente difficile (per ammissione dello stesso Stroustrup), per questioni che in parte esulano dalla programmazione "pura". Infatti non esiste nessun programma e nessun programmatore che finora abbia utilizzato appieno le potenzialità del C++, sia perché sono molte... sia perché, detto più prosaicamente, alcune in pratica sono inutili (vedi ereditarietà multipla).
3. È una domanda un po' troppo generica, ogni linguaggio di programmazione viene utilizzato in un contesto specifico. In campo di sistemi operativi certamente il più usato (se non l'unico usato) è il buon vecchio C (con parti in assembly); C/C++ per le applicazioni utente, anche se in anni recenti Java ha fatto molta strada; tra i linguaggi di scripting direi python e ultimamente ruby.