Yes. For example, like this:

Code:
#define SET_PRICETYPE	151
uint g_PriceType = 0;
...

in the main switch/case: 

case SET_PRICETYPE:
	g_PriceType = (int)arr[1]; 
	arr[0] = 1; break;
...

and then:

#define Bid (::SymbolInfoDouble(_Symbol,g_PriceType == 2? ::SYMBOL_LAST : ::SYMBOL_BID))
etc.