Ho fatto questo e funziona. Provalo cosi' com'e' e vedi un'po'...ovviamente lo dovrai adattare coi tuoi dati...
fammi sapere.

<?
//require ("_configure/config.cfg.php");
session_start();

//$_SESSION['INDICE']=0;
//echo "session iniziale=".$_SESSION['INDICE']."
";

$dati = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 ,19,20); //qui hai un array con i tuoi valori

$tot = 20; //calcoli il totale dei risultati

$rand = rand(1,$tot); //genera un numero a caso da 1 al numero massimo esistente
echo "random generato iniziale = ".$rand."
";

if($rand != 10) {
$_SESSION['INDICE'] = $_SESSION['INDICE'] + 1;
}

if($_SESSION['INDICE'] <= 3) {
echo "valore casuale=".$dati[$rand]."
";
} else {
if($_SESSION['INDICE'] > 3) {
$_SESSION['INDICE'] = 0;
echo "valore forzato=".$dati[9]."
";
}
}

echo "session_indice=".$_SESSION['INDICE'];
//in questo modo ogni 3 o 4 volte esce il dato fisso che vuoi tu.
?>