Sachverhalt:
A. X._ verkaufte von Juni bis Dezember 2000 mehrere Male an verschiedene Personen eine grosse Zahl von Ecstasy-Pillen sowie nicht unbedeutende Mengen von Amphetamin und Kokain. Bei seiner Verhaftung am 13. Januar 2001 wurden 817 Ecstasy-Pillen, 21,9 Gramm Kokain mit einem Reinheitsgehalt von 45% und 784,8 Gramm Amphetamin (772,7 Gramm ohne MDMA-Base, d.h. kein eigentliches Amphetamin) sichergestellt, die für den Verkauf bestimmt waren. Nach der Entlassung aus der Untersuchungshaft am 16. März 2001 verkaufte er von April bis Mitte November 2001 erneut wöchentlich kleine Mengen Kokain an A._, im September oder Oktober 2001 zudem 200 Ecstasy-Tabletten. Von September 2001 bis zur zweiten Verhaftung am 23. Mai 2002 verkaufte er überdies ca. 600 Gramm Marihuana an nicht näher bekannte Abnehmer. Bei seiner zweiten Verhaftung wurden 241 Gramm Marihuana sichergestellt, die für den Verkauf bestimmt waren. Schliesslich kaufte X._ am 7. August 2002 1'000 Einheiten Ecstasy, um sie an der Streetparade 2002 zu verkaufen. Als er am gleichen Tag erneut verhaftet wurde, fanden sich in seinem Auto 900 Einheiten Ecstasy. Über den gesamten Zeitraum bis zu seiner Verhaftung im August 2002 konsumierte X._ dabei auch selbst mehr oder weniger regelmässig unterschiedliche Betäubungsmittel (Ecstasy, Amphetamin, Kokain, Marihuana).
B. Das Bezirksgericht Zürich verurteilte X._ am 17. Oktober 2003 wegen mehrfacher - teilweise qualifizierter - Widerhandlungen gegen das Betäubungsmittelgesetz zu 30 Monaten Gefängnis. Das Obergericht des Kantons Zürich nahm am 27. Mai 2004 geringfügige Korrekturen am Schuldpunkt vor und bestätigte das bezirksgerichtliche Urteil im Strafpunkt.
C. X._ erhebt eidgenössische Nichtigkeitsbeschwerde beim Bundesgericht und beantragt, es sei das Urteil des Obergerichts im Strafpunkt aufzuheben und diese Instanz anzuweisen, ihn mit 18 Monaten Gefängnis unter Gewährung des bedingten Strafvollzugs zu bestrafen.
Das Obergericht verzichtet auf Gegenbemerkungen zur Beschwerde. Eine Vernehmlassung der Staatsanwaltschaft wurde nicht eingeholt.

Das Bundesgericht zieht in Erwägung:
1. Der Beschwerdeführer verlangt neben der Aufhebung des angefochtenen Entscheids auch die Anweisung des Obergerichts, ihn mit 18 Monaten Gefängnis unter Gewährung des bedingten Strafvollzugs zu bestrafen. Dieser zweite Antrag ist unzulässig, da die Nichtigkeitsbeschwerde rein kassatorischer Natur ist (Art. 277ter Abs. 1 BStP).
2. Der Beschwerdeführer wendet sich allein gegen die Strafzumessung. Seiner Ansicht nach hat die Vorinstanz die objektive Schwere der Tat zu stark gewichtet und umgekehrt seine persönlichen Umstände zu wenig berücksichtigt. Die ausgesprochene Strafe von 2 Jahren und 6 Monaten Gefängnis erweise sich daher als bundesrechtswidrig. Es komme höchstens ein Strafmass in Betracht, das die Gewährung des bedingten Strafvollzugs noch zulasse.
3. Nach <ref-law> misst der Richter die Strafe nach dem Verschulden des Täters zu. Er berücksichtigt die Beweggründe, das Vorleben und die persönlichen Verhältnisse des Schuldigen. Die Schwere des Verschuldens bildet das zentrale Kriterium bei der Zumessung der Strafe. Bei deren Bestimmung hat der Richter die Umstände der Tat (sog. Tatkomponente) zu beachten, also das Ausmass des verschuldeten Erfolgs, die Art und Weise der Herbeiführung dieses Erfolgs, die Willensrichtung, mit welcher der Täter gehandelt hat, und die Beweggründe des Schuldigen. Je leichter es für ihn gewesen wäre, das Gesetz zu respektieren, desto schwerer wiegt dessen Missachtung und damit das Verschulden. Neben diesen auf die Tat bezogenen Faktoren sind auch täterbezogene Elemente (sog. Täterkomponente) zu berücksichtigen, so das Vorleben, die persönlichen Verhältnisse des Täters, weiter aber auch sein Verhalten nach der Tat und im Strafverfahren, allenfalls gezeigte Reue und Einsicht sowie die Strafempfindlichkeit (<ref-ruling> E. 6.1 S. 20; <ref-ruling> E. 2a S. 103; <ref-ruling> E. 1 S. 113 f.).
Dem Sachrichter steht bei der Gewichtung der genannten Strafzumessungskomponenten ein erheblicher Spielraum des Ermessens zu. Das Bundesgericht greift in diesen im Rahmen der Nichtigkeitsbeschwerde, mit der ausschliesslich eine Rechtsverletzung geltend gemacht werden kann, nur ein, wenn der kantonale Richter den gesetzlichen Strafrahmen über- oder unterschritten hat, wenn er von rechtlich nicht massgebenden Gesichtspunkten ausgegangen ist oder wenn er umgekehrt wesentliche Faktoren ausser Acht gelassen hat und schliesslich, wenn er solche Elemente in Überschreitung oder Missbrauch seines Ermessens falsch gewichtet hat (<ref-ruling> E. 6.1 S. 21; <ref-ruling> E. 4a S. 295).
4. Der Beschwerdeführer beanstandet zunächst, dass die Vorinstanz in ihrem Urteil zwar festhalte, er habe sich seit seiner Verhaftung im August 2002 wohl verhalten und regelmässig an psychiatrischen Gesprächen teilgenommen, diese Umstände aber nicht strafmindernd berücksichtige.
4.1 Das Wohlverhalten eines Täters nach der Tat kann für die Strafzumessung in zweierlei Hinsicht von Bedeutung sein. Zum einen kann es den Täter und seine Einstellung zur Tat in einem günstigeren Licht erscheinen lassen, was bei der Beurteilung des Verschuldens im Rahmen der Täterkomponente strafmindernd zu berücksichtigen ist (vgl. Hans Wiprächtiger, Basler Kommentar, N. 105 zu <ref-law>; nicht publiziertes Urteil 6S.778/1997 vom 30. Januar 1998 E. 2c/bb; <ref-ruling> E. 3 S. 233; Hans-Jürgen Bruns, Das Recht der Strafzu-messung, 2. Auflage, Köln/Berlin/Bonn/München 1985, S. 231; Gerhard Schäfer, Praxis der Strafzumessung, 3. Auflage, München 2001, N. 375). Dies ist namentlich der Fall, wenn der Täter mittlerweile ein strafloses Leben führt und aufgrund der Dauer des Wohlverhaltens davon ausgegangen werden kann, dass die Tat einmalig war oder am Ende einer alters- oder entwicklungsbedingten Phase begangen wurde (vgl. Schäfer, a.a.O., N. 390). Zum anderen vermag eine Stabilisierung der Lebensverhältnisse die Strafzumessung unter spezialpräventiven Gesichtspunkten zugunsten des Täters zu beeinflussen. Nach der Rechtsprechung sind Strafen, welche die Resozialisierung des Täters erschweren, nach Möglichkeit zu vermeiden, weshalb bei deren Festsetzung die Folgen der Verurteilung für den Betroffenen zu berücksichtigen sind (<ref-ruling> E. 4 mit Hinweisen; vgl. auch <ref-ruling> E. 2b S. 154; Günter Stratenwerth, Schweizerisches Strafrecht, Allgemeiner Teil II: Strafen und Massnahmen, Bern 1989, § 7 N. 66; Schäfer, a.a.O., N. 390 und 475). Lässt das Nachtatverhalten des Täters auf Reue und Einsicht schliessen oder zeigt es sonst auf, dass dieser die nötigen Lehren gezogen und durch einen anderen Lebenswandel weiteren Straftaten vorgebeugt hat, ist die Strafe daher zu mindern, wobei sie jedoch dem Verschulden angemessen bleiben muss (vgl. <ref-ruling> E. 2b S. 341). In diesem Rahmen ist auch die Bereitschaft des Täters zu berücksichtigen, sich beispielsweise nach Sexual- oder Drogendelikten freiwillig einer Heilbehandlung oder Entziehungskur zu unterziehen, sofern die Therapiebereitschaft ernst gemeint ist und Aussicht auf Erfolg in dem Sinne verspricht, dass die Zukunftsprognose für den Täter durch die Behandlung verbessert wird (vgl. nicht publiziertes Urteil 6S.668/2001 vom 24. Januar 2002 E. 3b).
4.2 Die Vorinstanz stellt sich auf den Standpunkt, dass die straflose Lebensführung des Beschwerdeführers seit seiner Verhaftung sowie die regelmässige psychiatrisch-psychologische Behandlung durch Dr. med. B._ von ihr nicht strafmindernd berücksichtigt werden dürften. Eine solche Strafreduktion würde den Täter, der eine Berufung einlege, besser stellen, als denjenigen, der auf ein Rechtsmittel verzichte, weshalb sie dem Gleichheitsgebot widerspräche.
Der Beschwerdeführer macht zu Recht geltend, dass diese Argumentation nicht überzeugt. Als Berufungsinstanz hatte das Obergericht von den Verhältnissen im Zeitpunkt der Urteils auszugehen und demnach auch ein Wohlverhalten bis zu diesem Zeitpunkt zu berücksichtigen. Das Bundesgericht hat denn auch mit Bezug auf den Strafmilderungsgrund von <ref-law> ausgeführt, dass im Falle einer Berufung oder Appellation im Zeitpunkt des oberinstanzlichen Urteils zu beurteilen sei, ob eine verhältnismässig lange Zeit verstrichen sei, während der sich der Täter wohl verhalten habe (<ref-ruling> E. 3 S. 96). Es stellt sich somit die Frage, ob die Vorinstanz eine Strafminderung aus anderen Gründen ablehnen durfte.
4.3 Der Beschwerdeführer hat über einen Zeitraum von über zwei Jahren hinweg nahezu regelmässig erhebliche Mengen von Betäubungsmitteln verschiedenster Art verkauft bzw. im Besitz gehabt. Dabei fällt auf, dass er nach der Entlassung aus einer zweimonatigen Untersuchungshaft anfangs 2001 und seiner Verhaftung im Mai 2002 innert kürzester Zeit wieder delinquierte. Vor diesem Hintergrund musste die Vorinstanz nicht annehmen, dass die straflose Lebensführung des Beschwerdeführers seit seiner Tat vom 7. August 2002 dessen Verschulden geringer erscheinen lasse.
Allerdings begibt sich der Beschwerdeführer regelmässig für psychiatrische Gespräche zu Dr. med. B._. Zum Verlauf der Behandlung trifft die Vorinstanz keine näheren Feststellungen. Aus dem kurzen ärztlichen Attest vom 25. Mai 2004, auf das der angefochtene Entscheid verweist, geht nicht hervor, inwieweit sie der Auseinandersetzung mit den Straftaten des Beschwerdeführers dient und ob sie gegebenenfalls konkrete Aussicht auf Erfolg hat. Es ist deshalb auf Grund des festgestellten Sachverhalts nicht möglich zu beurteilen, ob die Teilnahme an den genannten psychiatrischen Gesprächen nach der erwähnten Rechtsprechung strafmindernd zu würdigen ist. Die Sache ist daher in diesem Punkt gemäss <ref-law> zu weiteren Abklärungen an die Vorinstanz zurückzuweisen.
5. Demnach ist die Nichtigkeitsbeschwerde gestützt auf <ref-law> gutzuheissen, soweit darauf einzutreten ist, das Urteil des Obergerichts aufzuheben und die Sache zu neuer Entscheidung an die Vorinstanz zurückzuweisen.
6. Dem Ausgang des Verfahrens entsprechend werden keine Kosten erhoben (vgl. Art. 278 Abs. 1 BStP) und ist dem Beschwerdeführer eine angemessene Entschädigung aus der Bundesgerichtskasse auszurichten (vgl. Art. 278 Abs. 3 BStP).

Demnach erkennt das Bundesgericht:
1. Die Nichtigkeitsbeschwerde wird, soweit darauf einzutreten ist, gemäss Art. 277 BStP gutgeheissen, das Urteil des Obergerichts des Kantons Zürich aufgehoben und die Sache zu neuer Entscheidung an die Vorinstanz zurückgewiesen.
2. Es werden keine Kosten erhoben.
3. Dem Beschwerdeführer wird für das bundesgerichtliche Verfahren eine Entschädigung von Fr. 2'000.-- aus der Bundesgerichtskasse ausgerichtet.
4. Dieses Urteil wird dem Beschwerdeführer, der Staatsanwaltschaft des Kantons Zürich und dem Obergericht des Kantons Zürich, I. Strafkammer, schriftlich mitgeteilt.
Lausanne, 20. Januar 2005
Im Namen des Kassationshofes
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber: