scusa, ma normalmente come fai ad utilizzare in un file sorgente C una variabile dichiarata in un altro file sorgente? la dichiari in un header come extern?
imho non esiste modo di fare quello che dici; a parte il fatto che se vuoi evitare modifiche alla variabile, semplicemente... non modificarla!

ma cmq se proprio cerchi il massimo dell'eleganza, l'unica soluzione in C imho è usare un getter come dice VICIOUS, però non è necessario che la variabile sia statica e locale, puoi semplicemente fare così:
Codice:
int nVar;
.
.
.
int GetValue() {
return nVar;
}
o al limite così:
Codice:
static int nVar;
.
.
.
int GetValue () { ecc.