(Strafverfahren), hat sich ergeben: A.- P._ wurde vom Bezirksgericht Bülach am 21. Oktober 1997 der mehrfachen Zuwiderhandlung gegen das BetmG sowie des Verweisungsbruches im Sinne von Art. 291 Abs. 1 StGB schuldig gesprochen und mit sieben Jahren Zuchthaus bestraft. Hiergegen legten sowohl P._ als auch die Staatsanwaltschaft des Kantons Zürich Berufung an das Obergericht des Kantons Zürich ein. Dieses bestätigte mit Urteil vom 23. Februar 1998 den erstinstanzlichen Schuldspruch und erhöhte die Strafe auf neun Jahre Zuchthaus. P._ gelangte daraufhin mit kantonaler Nichtigkeitsbeschwerde an das Kassationsgericht des Kantons Zürich und verlangte die Aufhebung des obergerichtlichen Urteils bezüglich seiner Verurteilung in einem Anklagepunkt (ND 3), in dem ihm vorgeworfen worden war, zwischen dem 14. und dem 27. Februar 1995 mit Kokain im Umfang von rund drei Kilogramm gehandelt zu haben. Er rügte es als eine Verletzung von Art. 6 Ziff. 3 lit. d EMRK, dass das Obergericht auf die Belastungsaussagen einer Auskunftsperson abgestellt habe, obwohl diese ihre Aussagen in der Konfrontationseinvernahme mit ihm "mit grundsätzlich nachvollziehbarer Begründung ausdrücklich widerrufen" habe. Mit dem Widerruf sei ihm verunmöglicht worden, hinsichtlich der früheren Belastungsaussagen seine Verteidigungsrechte wahrzunehmen, insbesondere Fragen an den Zeugen zu stellen, was zur Unverwertbarkeit der Belastungsaussagen führen müsse. Das Kassationsgericht wies die Nichtigkeitsbeschwerde am 18. August 1999 ab. B.- Gegen dieses Urteil führt P._ mit Eingabe vom 4. Oktober 1999 staatsrechtliche Beschwerde wegen Verletzung von Art. 4 aBV und von Art. 6 Ziff. 1 und 3 lit. d EMRK. Ausser der Aufhebung des angefochtenen Urteils beantragt er, es sei ihm die unentgeltliche Rechtspflege zu gewähren. Die Staatsanwaltschaft, das Obergericht und das Kassationsgericht haben auf eine Vernehmlassung zur Beschwerde verzichtet. 