Proteggere da che?
I CGI girano sul server e il codice non e` pubblico. Se il server e` protetto e non hai inserito buchi di sicurezza non possono venir letti da altri.
In quanto a compilarli, dipende dal linguaggio che usi. Se li fai in C o in altri linguaggi compilati sono gia` compliati.
Se li fai in Perl (come il 90% dei casi), in linea di massima sono interpretati, anche se dovrebbe esistere un compilatore per script in Perl (ma se e` un problema di velocita`, non so se non fai meglio ad usare un altro linguaggio).
Altrimenti devi spiegarti meglio.