Io personalmente opero in tal modo.

supponiamo di trovarci in index.php

Immagino la mia pagina index.php composta di 3 tabelle.
La tabella superiore contenente l'header con il logo;
La tabella centrale composta da 2 colonne, la colonna di sinistra per il menù, quella di destra per il centro pagina.

Una tabella inferiore contenente il footer

all'inizio metto l'include per l'header con il logo

include('header_con_logo');

poi apro la mia tabella centrale,

<TABLE BORDER......>
<TR>
<TD>

a questo punto includo il menù laterale, con

include('menu.inc');

chiudo la colonna di sinistra

</TD>

apro la colonna di destra
<TD>

- contenuto vero e proprio della pagina in esame

</TD>
</TR>
</TABLE>

a questo punto faccio:

include('footer.inc');

In tal modo, l'unica cosa ke c'è da cambiare ad ogni pagina .php è il contenuto della colonna di destra della tabella centrale.

Alla fine sono solo 3 i file ke includi, nn quindi la tua necessità di ridurre il numero degli include, sono già pochi!

Poi, non ho ben capito l'esempio ke hai fatto.

<%
Sub Mostra()
%>
codice htlm bla bla bla bla
<% End Sub %>

Questo ke vuol dire che Mostra() è una specie di funzione, che contiene un certo codice, e richiamando Mostra richiami il codice in esso contenuto?
Se è così, puoi anche in php crearti delle funzioni con il comando function........
e, comunque, il richiamare Mostra() per farti visualizzare codice html è lo stesso che richiamare un file con include('....') contenente lo stesso codice html.


Hai scritto:

Non solo, ad ogni pagina posso anche far cambiare i tag <title></title>, ecc... semplicemente valorizzando le opportune variabili in contatti.asp ( e questo lo capisco ancora di meno perchè le variabili vengono valorizzate dopo che essere devono essere usate )

Potresti spiegarti meglio?