Saludos... no he checado tu código (disculpa)... pero... se me ocurre algo simple...
1.- inicias tu query hasta antes de darles las especificaciones de la busqueda.
2.- Creas un if donde la condicional es que X variable esté definida y no vacia.
3.- Si devuelve TRUE añades a tu $query la especifiacción de tu busqueda..
$query = "SELECT * FROM... ";
if (X) {
$query.="AND .... ";
}
mysql_query(.....

Solo sugiero.. sin complicaciones.. Suerte!
Ah!... un array se crea algo así:
$var=array("primero","segundo","....");
así $var[3] va a ser igual a "tercero"
ó.. $var=array("primero"=>"hola", "segundo"=>"adios");
y así $var["primero"] valdrá "hola" y $var["segundo"] valdrá "adios".....
... más info ve a
http://mx2.php.net/manual/es/ref.array.php