todo depende de para que la usaras #define simplemente sustituye el valor por el definido antes de compilar... las variables globales tienen la ventaja de que te permiten cambiar su valor...
Como ha dicho R.N.A es depende para lo que lo quieras. Yo por ejemplo utilizo mas los defines que las constantes y NUNCA las variables globales.
Pero si ese valor debe cambiar, lo tenemos chungo con una directiva de preprocesador.