Si envías tus variables por POST lo que podrías hacer es algo como esto:
Código PHP:
<?php
$categoria = $_POST['categoria'];
// por aquí haces tus consultas SQL o demás
?>
<form action="" method="post">
<select name="categoria">
<?php
$con = mysql_query("SELECT * FROM categorias ORDER BY id_categoria ASC");
while($row = mysql_fetch_array($con)) {
$cat = $row['categoria'];
?>
<option value="<?=$cat?>" <?php if($cat == $categoria) echo "selected"; ?>><?=$cat?></option>
<?php
}else {
// no hacemos nada o muestras algun mensaje
}
?>
</select>
<input type="text" name="palabra" />
<input type="submit" name="enviar" value="Buscar" style="background: #2d2d2d; color: #fff;" />
</form>
Como verás, dentro en el <option> hace una consulta que compara que el valor enviado por $_POST sea igual al valor de la consulta a mysql, de ser verdadero aparecerá seleccionada la opción que hayas enviado.
Espero que te sirva, saludos