Intendi il fatto che se una colonna è più corta "finisce prima" e poi si vede dietro lo sfondo del container? Si può risolvere in vari modi a seconda dell'aspetto grafico che devi ottenere per il sito, se stai parlando di altro spiegati meglio.A quel punto però mi si presentava il classico problema delle due colonne non della stessa lunghezza
Non ho testato il codice, ma per quanto riguarda footer, se vuoi lasciare dello spazio sottostante, un'altra possibile soluzione che mi viene in mente ora è di aggiungere del padding-bottom al div container, forse così funziona... in realtà settare il margin bottom del footer non credo corrisponda all'effetto che vuoi ottenere, ma forse mi sbaglio.
Per i 900px credo possa andare bene, io in genere uso una larghezza vicina a questi valori.