1) Sì, ci sono programmi interamente in Java, e programmi in cui alcune componenti sono in Java. Così, su due piedi, UMLet (è un programma per disegnare dei diagrammi o grafici) è interamente in Java, mentre LibreOffice (suite da ufficio gratuita) ha solo alcune componenti in Java. Entrambi i software sono liberi, quindi puoi scaricare i sorgenti e verificare che ti ho detto il vero.
2) Non c'è un linguaggio migliore di altri sotto tutti i punti di vista. Né è possibile sapere esattamente con che linguaggio sono scritti tutti i programmi, perché ci sono programmi closed source, di cui il sorgente, e quindi il linguaggio, non è noto al pubblico. Per quanto riguarda i programmi open source, si possono guardare alcune statistiche. Per esempio, diversi progetti free sono ospitati su GitHub, che ha una statistica dei linguaggi. Al momento, Javascript, Java e Ruby sono i più utilizzati.
3) La domanda è semanticamente errata. I compilatori compilano programmi scritti in un linguaggio. Comunque, ho capito cosa intendi. In linea di massima, non è necessario, è si può fare un programma con un solo linguaggio. Spesso, si finisce a realizzare alcune componenti in un altro linguaggio, per ragioni di flessibilità o integrazione.
4) Non è possibile, in generale, aprire il codice sorgente a partire dal programma, a meno che il programma non sia interpretato e non offuscato. Per i progetti open source, è possibile accedere al codice sorgente separatamente. Per esempio, per i due progetti che ti ho messo nelle fonti, insieme al download del programma, è spiegato anche in che modo è possibile accedere al codice sorgente.
PS: L'ultima volta che guardai, il team di LibreOffice stava tentando di limitare/rimuovere Java, quindi può darsi anche che ora non ci sia più Java.