1)Puoi farlo molto semplicemente con Javascript (da inserire nella pagina html)
Ad esempio:
codice:
<script type="text/javascript">
var attesa = 20;
setTimeOut(attesa,'window.location.reload();');
</script>
In questo modo , ogni volta che il numero di secondi specificato in "attesa" è trascorso, la pagina si aggiorna automaticamente. Per maggiori chiarimenti chiedi pure nel forum apposito di javascript.

2)Questo non è possibile: perché lo script php venga eseguito, deve essere richiesto da un client. Quindi, ci sono due possibilità: o cerchi un programma che, dal, tuo computer, a una certa ora, effettui una richiesta al server, altrimenti, chiedi al tuo host se può eseguire lo script php ad una certa ora: molti host offrono questo servizio, anche se a pagamento.

In ogni caso, ti consiglio di fondere le due pagine di elaborazione e rappresentazione. In questo modo il file si aggiorna ogni volta che deve essere visto e non c'è mai pericolo che qualcuno veda la versione non aggiornata.