Se si deve dividere la pagina in tre "colonne" è necessario usare tre DIV, appunto uno per ogni "colonna".

Riguardo l'allineamento (stiamo parlando di quello verticale, giusto?): non uso IE7 e non so esattamente come si comporta, ma in generale credo che la differenza tra i due browser sia data da una diversa interpretazione del margine predefinito che entrambi danno al P; se hai bisogno di un allineamento preciso e che sia anche cross-browser potresti provare a sostituire i P con dei DIV a cui dare dei margini verticali (top e bottom) precisi, tramite CSS.

Di più, riguardo a questo, non so dirti; se trovi comunque altre soluzioni fammi sapere