a ver.
en la segunda pregunta seria algo asi:
tienes tu lista:
<select name="lista1" size="1" onchange="cambiar_texto(this.value)">
<option value="0">Mostrar texto 0</option>
<option value="1">Mostrar texto 1</option>
<option value="2">Mostrar texto 2</option>
...
</select>
y aquí mostramos el texto:
<p id="texto1" align="justify">texto por defecto que va a cambiar cuando cambie el select de arriba</p>
y la funcion javascript que incluiremos en el <head> sería algo asi:
Código PHP:
<script>
function cambiar_texto(id){
var texto=new Array(3); //numero de textos que halla
texto[0]="texto que queremos que se muestre cuando en el select seleccionemos la <b>primera</b> posicion, es decir, la 0.";
texto[1]="texto que queremos que se muestre cuando en el select seleccionemos la <b>segunda</b> posicion, es decir, la 1.";
texto[2]="texto que queremos que se muestre cuando en el select seleccionemos la <b>tercera</b> posicion, es decir, la 2.";
document.getElementById("texto1").innerHTML=texto[id];
}
</script>
eso cambiaria el texto sin recargar la pagina.
ahora, en respuesta a la primera pregunta,
en javascript esta la funcion setTimeout();
un ejemplo de uso:
<script>
function hacer_algo(){
//aquí decimos que ahcer si cerrar la ventana window.close();
//si abrir ventana nueva,
//o si redireccionar a otra página:
document.location.href="fin_tiempo.php";
}
var segundos = 30*60; (30 minutos*60 segundos cada minuto)
setTimeout("hacer_algo()",segundos*1000);
</script>