se ho ben capito, io di solito faccio così: supponi che hai i due form A e B ognuno con un select. Scegli una voce dal select A e poi dal select B e a questo punto la pagina viene ricaricata.
Per verificare se una voce del select è stata selezinata uso la seguente funzione PHP:

Codice PHP:
function selected($val1$val2) {
  if (
trim($val1)==trim($val2)
    return 
" selected=\"selected\"";
  else
    return 
NULL;

quando poi scrivo il select utilizzo quanto segue, sia per A che per B):

Codice PHP:
<?php
  
// $vociA e $vociB sono due array che contengono le OPTION dei due select
<select name="A" size="1">
<?
php
  
for ($i=0$i<count($vociA); $i++) {
     echo 
"<option value=\"".$vociA[$i]."\"".selected($_POST['A'], $vociA[$i]).">".$vociA[$i]."</option>";
  }
?>
</select>
in pratica per ogni OPTION del select uso la funzione SELECTED. Se il valore passato dal SUBMIT è uguale al valore corrente dell'array allora scriverà il parametro SELECTED="SELECTED" per visualizzarlo come parametro di default.