Faits:
A. A._ et B._ ont été arrêtés le 11 mars 2009 par la police fribourgeoise, pour tentative de vol par effraction, vol d'usage et vol de plaques d'immatriculation. Une procédure pénale ayant été ouverte précédemment dans le canton de Berne, le dossier a été transmis au Juge d'instruction 6 du Service des Juges d'instruction I du Jura bernois - Seeland (ci-après: le juge d'instruction). L'action publique a été étendue à la prévention de vols en bande et par métier. Le 13 juin 2009, A._ a requis sa mise en liberté. Le Juge de l'arrestation 3 de l'Arrondissement judiciaire II Bienne - Nidau (ci-après: le juge de l'arrestation) a rejeté cette requête par décision du 20 mai 2009. Il a considéré qu'il existait des soupçons sérieux à l'encontre du prévenu et que son maintien en détention était motivé par les risques de fuite et de collusion, la durée de la détention respectant en outre le principe de la proportionnalité.
Le 17 août 2009, le juge d'instruction a proposé au Procureur 3 du Ministère public I du Jura bernois-Seeland de renvoyer A._ et B._ au Tribunal d'arrondissement I pour vols et tentative de vol commis en bande et par métier, dommages à la propriété, violation des règles de la circulation routière, vol d'usage, usage abusif de plaques de contrôle et infractions à la loi fédérale sur les télécommunications. Le 19 août 2009, le procureur a donné son accord pour le renvoi. Par décision du 2 septembre 2009, la Chambre d'accusation de la Cour suprême du canton de Berne a accordé au tribunal d'arrondissement une prolongation de délai au 17 février 2010 pour débuter l'audience des débats.
B. Le 28 octobre 2009, A._ a présenté une nouvelle requête de mise en liberté, que le juge de l'arrestation a rejetée par décision du 5 novembre 2009. En substance, ce magistrat a considéré qu'il existait des motifs sérieux de soupçonner le prévenu d'avoir commis un crime ou un délit, que le danger de collusion subsistait malgré la clôture de l'instruction et qu'un risque de fuite concret imposait le maintien de l'intéressé en détention. La durée de la détention préventive était en outre conforme au principe de la proportionnalité, aucune mesure de substitution n'étant envisageable en l'espèce.
C. A._ recourt contre cette décision et demande au Tribunal fédéral de l'annuler et d'ordonner sa mise en liberté, assortie le cas échéant de mesures de substitution, subsidiairement de renvoyer la cause à l'autorité cantonale compétente pour organiser sa mise en liberté. Il se plaint implicitement d'une atteinte à sa liberté personnelle et invoque une mauvaise application des règles cantonales régissant la détention avant jugement. Il requiert en outre l'assistance judiciaire. Le ministère public et le juge de l'arrestation ne se sont pas déterminés.
Considérant en droit:
1. Les décisions relatives au maintien en détention avant jugement sont des décisions en matière pénale au sens de l'art. 78 al. 1 LTF (cf. ATF 133 I 270 consid. 1.1 p. 273; Message concernant la révision totale de l'organisation judiciaire fédérale du 28 février 2001, FF 2001 p. 4111). Formé en temps utile (art. 100 al. 1 LTF) contre une décision prise en dernière instance cantonale (art. 80 LTF) et qui touche le recourant dans ses intérêts juridiquement protégés (art. 81 al. 1 let. a et b ch. 1 LTF), le recours est recevable.
2. Une mesure de détention préventive n'est compatible avec la liberté personnelle, garantie par les art. 10 al. 2 Cst. et 5 CEDH, que si elle repose sur une base légale (art. 31 al. 1 et 36 al. 1 Cst.), soit en l'espèce l'art 176 du code de procédure pénale bernois du 15 mars 1995 (CPP/BE; RSB 321.1). Elle doit en outre correspondre à un intérêt public et respecter le principe de la proportionnalité (art. 36 al. 2 et 3 Cst.; ATF 123 I 268 consid. 2c p. 270). Pour que tel soit le cas, la privation de liberté doit être justifiée par un danger pour la sécurité ou l'ordre public, par un risque de fuite ou par les besoins de l'instruction (cf. art. 176 al. 2 CPP/BE). La gravité de l'infraction - et l'importance de la peine encourue - n'est, à elle seule, pas suffisante (ATF 125 I 60 consid. 3a p. 62; 117 Ia 69 consid. 4a p. 70). Préalablement à ces conditions, il doit exister à l'égard de l'intéressé des charges suffisantes, soit de sérieux soupçons de culpabilité (art. 5 par. 1 let. c CEDH; ATF 116 Ia 143 consid. 3 p. 144 ss; art. 176 al. 2 in initio CPP/BE). S'agissant d'une restriction grave à la liberté personnelle, le Tribunal fédéral examine librement ces questions, sous réserve toutefois de l'appréciation des preuves, revue sous l'angle restreint de l'arbitraire (ATF 123 I 268 consid. 2d p. 271). L'autorité cantonale dispose ainsi d'une grande liberté dans l'appréciation des faits (ATF 114 Ia 281 consid. 3 p. 283; 112 Ia 161 consid. 3b p. 162).
3. Le recourant mentionne en premier lieu qu'il conteste les faits qui lui sont reprochés, sans toutefois remettre en cause explicitement l'existence de charges suffisantes à son encontre. Cette condition de la détention préventive apparaît au demeurant réalisée. L'autorité intimée relève en effet, sans être contredite sur ce point, que le coaccusé du recourant le met en cause, que les intéressés ont été interpellés en flagrant délit et que du "matériel professionnel" destiné à faciliter des vols a été découvert en leur possession. Il existe donc un faisceau d'indices suffisant permettant de soupçonner le recourant d'avoir commis des infractions, étant précisé qu'il n'appartient pas au juge de la détention de procéder à une pesée complète des éléments à charge et à décharge et d'apprécier la crédibilité des personnes qui mettent en cause le prévenu (cf. ATF 116 Ia 143 consid. 3c p. 146; Gérard Piquerez, Traité de procédure pénale suisse, 2e éd., 2006, p. 540 et les références).
4. Le recourant conteste par ailleurs l'existence d'un risque de fuite.
4.1 Le risque de fuite doit s'analyser en fonction d'un ensemble de critères tels que le caractère de l'intéressé, sa moralité, ses ressources, ses liens avec l'Etat qui le poursuit ainsi que ses contacts à l'étranger, qui font apparaître le risque de fuite non seulement possible, mais également probable (ATF 117 Ia 69 consid. 4a p. 70 et la jurisprudence citée). La gravité de l'infraction ne peut pas, à elle seule, justifier la prolongation de la détention, même si elle permet souvent de présumer un danger de fuite en raison de l'importance de la peine dont le prévenu est menacé (ATF 125 I 60 consid. 3a p. 62; 117 Ia 69 consid. 4a p. 70; 108 Ia 64 consid. 3 p. 67).
4.2 En l'occurrence, il n'est pas contesté que le recourant est de nationalité française et qu'il a en France toutes ses relations familiales et sociales, voire professionnelles. Il n'allègue d'ailleurs aucune attache particulière avec la Suisse, de sorte qu'on ne voit pas ce qui pourrait le dissuader de quitter le pays pour se soustraire à la justice. En cas de libération, il indique d'ailleurs vouloir se rendre en France, ce qui rend d'autant moins vraisemblable sa comparution à l'audience de jugement. La décision querellée relève en outre que le tribunal d'arrondissement devant lequel le recourant est renvoyé est compétent pour prononcer des peines privatives de liberté dépassant une année, ce qui n'est pas sans incidence sur le risque de fuite. En définitive, faute d'éléments permettant de remettre en cause l'appréciation de l'autorité intimée, il y a lieu de retenir que ce risque est réalisé.
4.3 Conformément au principe de la proportionnalité, lorsque le maintien en détention est motivé uniquement par le risque de fuite, il convient en principe d'examiner les possibilités de mettre en oeuvre d'autres solutions moins dommageables que la détention (règle de la nécessité; ATF 130 II 425 consid. 5.2 p. 438; 126 I 219 consid. 2c p. 222 et les arrêts cités; cf. également art. 5 par. 3, dernière phrase, CEDH). Cela étant, le juge de l'arrestation a considéré que les mesures de substitution évoquées par le recourant n'étaient pas de nature à pallier le risque de fuite. En particulier, l'obligation de se présenter à intervalles réguliers auprès d'une autorité suisse n'était pas réaliste, l'intéressé étant domicilié à 150 km de la frontière et sa nationalité française faisant obstacle à sa remise en détention en cas de non- respect de cette mesure. Le recourant se borne à répéter qu'il est disposé à se présenter auprès d'un service administratif suisse à des intervalles déterminés, sans aucunement contester l'appréciation susmentionnée. Celle-ci n'apparaissant pas dénuée de fondement, le recourant peut y être renvoyé.
5. Dès lors que le maintien en détention du recourant est justifié par un danger de fuite, il n'est pas nécessaire d'examiner s'il peut aussi être motivé par un risque de collusion, comme le retient la décision attaquée.
6. Pour le surplus, le recourant se plaint d'une violation du principe de la proportionnalité, en raison d'une durée excessive de la détention préventive.
6.1 En vertu des art. 31 al. 3 Cst. et 5 par. 3 CEDH, toute personne qui est mise en détention préventive a le droit d'être jugée dans un délai raisonnable ou d'être libérée pendant la procédure pénale. Une durée excessive de la détention constitue une limitation disproportionnée de ce droit fondamental, qui est notamment violé lorsque la durée de la détention préventive dépasse la durée probable de la peine privative de liberté à laquelle il faut s'attendre. Dans l'examen de la proportionnalité de la durée de la détention, il y a lieu de prendre en compte la gravité des infractions faisant l'objet de l'instruction. Le juge peut maintenir la détention préventive aussi longtemps qu'elle n'est pas très proche de la durée de la peine privative de liberté à laquelle il faut s'attendre concrètement en cas de condamnation (ATF 133 I 168 consid. 4.1 p. 170; 132 I 21 consid. 4.1 p. 27; 128 I 149 consid. 2.2 p. 151; 107 Ia 256 consid. 2 et 3 p. 257 ss et les références).
6.2 En l'espèce, le recourant est en détention depuis le 11 mars 2009. Il a donc subi à ce jour un peu plus de neuf mois de détention avant jugement. Il lui est notamment reproché des vols et tentative de vol commis en bande et par métier, infractions passibles d'une peine privative de liberté de dix ans au plus. Pour ces faits, le recourant est renvoyé devant un tribunal compétent pour prononcer des peines privatives de liberté dépassant une année. Le juge de l'arrestation relève en outre, sans être contredit sur ce point, que les antécédents du prévenu démontrent qu'il est un habitué en matière de vols et de recel. Ainsi, compte tenu du nombre et de la nature des infractions en cause - l'une d'elle portant sur le cambriolage d'une pharmacie au cours duquel plus de 2'000 articles d'une valeur totale de 100'000 fr. ont été volés - des circonstances aggravantes du vol en bande et par métier, ainsi que des mauvais antécédents du recourant, il y a lieu de constater que la durée de la détention préventive déjà subie est encore compatible avec la peine privative de liberté à laquelle l'intéressé est exposé concrètement en cas de condamnation.
7. Il s'ensuit que le recours doit être rejeté. Dès lors que le recourant est dans le besoin et que ses conclusions ne paraissaient pas d'emblée vouées à l'échec, l'assistance judiciaire doit lui être accordée (art. 64 al. 1 LTF). Le recourant requiert la désignation de Me Philippe Degoumois en qualité d'avocat d'office. Il y a lieu de faire droit à cette requête et de fixer d'office les honoraires de l'avocat, qui seront supportés par la caisse du Tribunal fédéral (art. 64 al. 2 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est admise.
3. Il n'est pas perçu de frais judiciaires.
4. Me Philippe Degoumois, avocat à Moutier, est désigné comme avocat d'office du recourant et ses honoraires, supportés par la caisse du Tribunal fédéral, sont fixés à 1'500 fr.
5. Le présent arrêt est communiqué au mandataire du recourant, au Juge de l'arrestation 3 de l'Arrondissement judiciaire II Bienne - Nidau et au Procureur 3 du Ministère public I du Jura bernois-Seeland.
Lausanne, le 14 décembre 2009
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Le Greffier:
Féraud Rittener