Faits: A. A._, ressortissant péruvien, est en détention préventive depuis le 16 août 2005, date à laquelle le Juge d'instruction du canton de Genève (ci-après: le Juge d'instruction) l'a inculpé de lésions corporelles graves (art. 122 CP), de lésions corporelles simples (art. 123 CP), de menaces (art. 180 CP), d'actes d'ordre sexuel avec des enfants (art. 187 CP) et de viols (art. 190 CP). Il lui est notamment reproché d'avoir abusé sexuellement de B._, née en 1989 et alors âgée de 13 ans. Ces atteintes à l'intégrité sexuelle ont été commises pendant de nombreuses années et ont conduit à des grossesses, une fille étant par ailleurs née de ces relations en mai 2004. Les inculpations complémentaires de séquestration et d'enlèvement (art. 183 et 184 CP), puis de contrainte sexuelle (art. 189 CP), de viol (art. 190 CP), de séquestration et d'enlèvement aggravé (art. 183 et 184 CP) furent prononcées à l'encontre de A._, respectivement le 27 septembre 2007 et le 8 février 2008. Le 8 octobre 2008, A._ fut inculpé d'assassinat (art. 112 CP), subsidiairement de meurtre (art. 111 CP). Le samedi 6 février 1999 entre 16 heures et 18 heures, il aurait tué C._, portée disparue depuis ce jour. La prénommée était son amie intime avec laquelle il a eu une fille née en 1998. La détention préventive de A._ a été régulièrement prolongée et ses différentes demandes de mise en liberté provisoire rejetées. B. Le 8 octobre 2009, A._ a formé une nouvelle demande de mise en liberté provisoire en proposant une caution de 30'000 francs, le dépôt du passeport et la présentation régulière à un poste de police, voire toutes autres mesures que la Chambre d'accusation de la Cour de justice du canton de Genève (ci-après: la Chambre d'accusation) jugerait utiles. Par ordonnance du 9 octobre 2009, la Chambre d'accusation a rejeté cette demande. Elle a considéré en substance que les présomptions de culpabilité étaient suffisantes, qu'il existait des risques de collusion et de fuite, et que la prolongation de la détention provisoire pour une durée de trois mois, nécessaire pour mener à terme une quatrième expertise psychiatrique, était encore compatible avec le principe de la proportionnalité. C. Agissant par la voie du recours en matière pénale, A._ demande principalement au Tribunal fédéral d'annuler l'ordonnance du 9 octobre 2009 et d'ordonner sa mise en liberté moyennant une caution de 30'000 francs, le dépôt de son passeport et toute autre mesure apte à garantir sa représentation aux actes judiciaires. Il requiert en outre l'assistance judiciaire. Dans ses observations, le Procureur général du canton de Genève conclut au rejet du recours et fait référence à un courrier du Juge d'instruction du 12 novembre 2009, dans lequel il est mentionné que celui-ci entend clôturer la procédure "si possible avant la fin de l'année". La Chambre d'accusation se réfère aux considérants de sa décision. Dans ses déterminations complémentaires, le recourant persiste dans ses conclusions.