Hmm.. so we can declare define in a function like this!
But still i would suggest its not a good practice to use define to define a variable like this within a function.

Code:
int VARIABLE[2];

void test(int *variable) // rename variable to anything you like, it has no effect
{
#define one variable[0]
#define two variable[1]
}

int main()
{
VARIABLE[0]=5;
printf("%d\n",one);
return 0;
}
In the above example, still i think its not a very good thing to use as, the use of "one" in the main actually using the golbal "VARIABLE", not the local "variable". If you change the name of the global variable to Upper case variable or someother thing, it will get a compiler error. because one actually representing the code "varaible[0]" this variable is the local one declared in the function.