Sachverhalt: A. A.a Am 20. Dezember 2005 schied die Einzelrichterin des Bezirksgerichts Affoltern die Ehe von X._ (Ehemann) und Z._ (Ehefrau). Sie regelte die Kinderbelange, den nachehelichen Unterhalt für die Ehefrau und den Vorsorgeausgleich. Die güterrechtliche Auseinandersetzung wurde in ein eigenes Verfahren verwiesen. Dieses Teilurteil ist in Rechtskraft erwachsen. A.b In einem weiteren Urteil vom 20. Dezember 2006 befand die Einzelrichterin über die güterrechtliche Auseinandersetzung. Sie verpflichtete X._ zur Zahlung von Fr. 132'565.10 an Z._. Auf Berufung beider Parteien setzte das Obergericht des Kantons Zürich diesen Betrag am 20. September 2007 auf Fr. 126'011.35 fest. Strittig waren die güterrechtliche Abrechnung über die Liegenschaft A._ sowie verschiedene weitere Positionen im Vermögen der Parteien. A.c Das Kassationsgericht des Kantons Zürich trat auf die gegen das obergerichtliche Urteil erhobene Nichtigkeitsbeschwerde von X._ mit Zirkulationsbeschluss vom 2. Oktober 2008 nicht ein und hiess diejenige von Z._ gut. Es legte die Kosten- und Entschädigungsfolgen des erst- und zweitinstanzlichen Verfahrens neu fest. B. X._ (nachfolgend: Beschwerdeführer) ist mit Beschwerde in Zivilsachen vom 10. November 2008 an das Bundesgericht gelangt. Er beantragt die Aufhebung des obergerichtlichen Urteils in der Sache sowie die Verpflichtung von Z._ (nachfolgend: Beschwerdegegnerin), ihn aus Güterrecht mit Fr. 9'951.75 zu entschädigen. Eventualiter verlangt er die Aufhebung des obergerichtlichen Urteils. Subeventualiter beantragt er die Aufhebung des Beschlusses des Kassationsgerichts. Die Beschwerdegegnerin schliesst auf Nichteintreten, gegebenenfalls auf Abweisung der Beschwerde insgesamt. Das Obergericht und das Kassationsgericht haben auf eine Vernehmlassung verzichtet. Mit Verfügung vom 24. November 2008 erteilte der Präsident der II. zivilrechtlichen Abteilung der Beschwerde die aufschiebende Wirkung.