Faits: A. Le 1er février 2008, la Cour d'assises du canton de Genève a acquitté A._ des accusations de viol et tentatives de viol. Cet arrêt est définitif. Le 29 avril 2008, A._ a déposé plainte pour dénonciation calomnieuse, notamment contre celle qui l'avait accusé de viol. Le 9 mai 2008, le Procureur B._ classa la plainte, affirmant que l'auteur de la plainte pour viol n'avait agi ni pour nuire à A._, ni en le sachant innocent. Le classement se justifiait aussi pour des motifs d'opportunité, compte tenu des graves troubles qu'avait connus la plaignante. Le 22 mai suivant, A._ demanda à la Cour de cassation genevoise la récusation du Procureur B._, en relevant que celui-ci avait déjà participé en tant qu'accusateur à la procédure ayant abouti à l'arrêt de la Cour d'assises, et ne pouvait statuer de manière impartiale sur sa propre plainte. B. La cause a été transmise au Plenum du Parquet du Procureur général (ci-après: le Plenum) qui, par décision du 18 juin 2008, rejeta la demande de récusation. Le Procureur B._ avait agi dans deux procédures différentes, portant sur des infractions distinctes. C. A._ forme un recours intitulé "de droit public". Il conclut à l'annulation de la décision du 18 juin 2008, et à la récusation du Procureur B._. Le Plenum conclut au rejet du recours dans la mesure où il est recevable. Le Procureur en fait de même. Les autorités intimées ont par la suite précisé que le recourant avait contesté le classement devant la Chambre d'accusation genevoise, qui a rejeté son recours par ordonnance du 9 juillet 2008. Par arrêt du 11 novembre 2008, le Tribunal fédéral a déclaré irrecevable le recours formé contre cette décision. Le recourant a répliqué et maintenu ses conclusions.