Faits:
A. A.a M._ s'est annoncé à l'assurance-chômage comme demandeur d'emploi, pour la première fois, le 1er août 1989. Il a bénéficié depuis lors de plusieurs délais-cadres d'indemnisation, notamment pour les périodes du 1er juillet 1994 au 30 juin 1996, du 4 juillet 1996 au 3 juillet 1998 et du 1er octobre 1999 au 30 septembre 2001. Les périodes de cotisations nécessaires à l'ouverture de ces délais-cadres d'indemnisation ainsi que les revenus pris en considération pour le calcul du gain assuré ont été fixés sur la base de diverses attestations d'employeurs produites par le prénommé. M._ a notamment remis à la Caisse cantonale genevoise de chômage (ci-après : la Caisse) une attestation de la société X._ faisant état d'une activité salariée exercée par l'assuré à son service, du 1er mars au 31 août 1995, pour une rémunération totale de 49'400 fr. et une attestation de la société Y._ relative à une activité salariée exercée du 3 août 1998 au 30 septembre 1999, pour un salaire mensuel de 9750 fr. (treizième salaire inclus).
Dans le courant du premier semestre 2001, à la demande du Service de placement professionnel du canton de Genève, l'Office cantonal de la main-d'oeuvre étrangère a mené une enquête sur les activités de M._ auprès des diverses sociétés commerciales ayant établi des attestations d'employeurs remises à la Caisse. Il résulte notamment du rapport établi par cet office le 28 mai 2002 que l'assuré a été administrateur de Y._, avec signature individuelle, entre novembre 1998 et avril 2000 notamment. Dès 1993, l'assuré avait accepté la domiciliation de nombreuses sociétés à son adresse privée, dont Y._. Par ailleurs, aucune des sociétés qui avaient établi des attestations d'employeurs pour l'assuré n'avait déclaré à une caisse de compensation AVS/AI le paiement d'un salaire soumis à cotisations.
Le 11 juillet 2002, en se fondant sur le rapport de l'Office cantonal de la main d'oeuvre étrangère, la Caisse a rendu une décision de «refus d'indemnisation de manière rétroactive, concernant [les] demandes d'indemnités présentées les 1.07.1994 et 1.10.1999, qui ont toutes deux débouché sur l'ouverture d'un délai-cadre d'indemnisation et pour lesquelles [M._] ne justifi[ait] à l'époque d'aucune période d'activité soumise à cotisation.» La Caisse précisait que les indemnités versées notamment pour les périodes de contrôle de juillet 1997 à août 2000 l'avaient été sur la base de fausses déclarations et feraient l'objet de demandes de remboursement. Le 17 juin 2004, l'Office de l'emploi du canton de Genève (ci-après: l'OCE) a rejeté l'opposition de l'assuré contre cette décision.
Entre-temps, par décision du 16 juillet 2002, la Caisse a exigé la restitution d'un montant de 7790 fr. 75 correspondant à des indemnités journalières qu'elle estimait avoir versé en trop pour la période du 1er juillet 1997 au 3 juillet 1998. Par décision du 22 août 2002, elle a également exigé la restitution des indemnités journalières versées du 1er octobre 1999 au 31 août 2000, pour un montant total de 57'463 fr. 70. Saisi d'oppositions contre ces décisions, l'OCE a suspendu les procédures jusqu'à droit connu sur un recours contre la décision sur opposition du 17 juin 2004, devant le Tribunal des assurances sociales du canton de Genève.
A.b Par jugement du 5 octobre 2005, le Tribunal cantonal des assurances sociales a annulé la décision de la Caisse du 11 juillet 2002 et la décision rendue sur opposition par l'OCE le 17 juin 2004, au motif qu'il s'agissait de décisions constatatoires qu'aucun intérêt digne de protection ne justifiait. La question du droit de l'assuré aux indemnités journalières litigieuses devrait faire l'objet d'un examen dans le cadre des procédures d'opposition, pendantes devant l'OCE, contre les décisions condamnatoires rendues par la Caisse les 16 juillet et 22 août 2002. L'OCE a statué sur les oppositions contre ces décisions et a maintenu la condamnation de l'assuré à la restitution des montants de 7790 fr. 75 et 57'463 fr. 70 exigés par la Caisse (décisions sur opposition des 20 et 21 juillet 2006).
A.c L'assuré a recouru contre chacune de ces décisions sur opposition devant le Tribunal cantonal des assurances sociales, qui a joint les causes et rejeté les recours par jugement du 6 mars 2007. Le recours subséquent de M._ au Tribunal fédéral a également été rejeté par arrêt du 18 mars 2008 (arrêt 8C_185/2007 du 18 mars 2008 consid. 3.2).
A.d A la suite de cet arrêt, la Caisse a requis de M._ le remboursement de 65'254 fr. 45 (7'790 fr. 75 et 57'463 fr. 70) par courrier du 30 mai 2008. En date du 6 juin 2008, l'assuré a formé une demande de remise du montant à restituer, vu sa cessation de toute activité professionnelle, ses problèmes de santé et sa situation financière (poursuites en cours). Par décision du 21 novembre 2008, la Caisse a déclaré cette demande irrecevable, dès lors qu'elle n'avait pas été déposée dans le délai de trente jours ayant suivi l'entrée en force de la décision de remboursement.
Le 19 décembre 2008, M._ a formé opposition contre cette décision.
L'OCE a rejeté cette opposition par décision du 19 mars 2009.
B. M._ a recouru au Tribunal cantonal des assurances sociales contre cette décision sur opposition. Par jugement du 23 juillet 2009, celui-ci a rejeté le recours. Il a laissé ouverte la question de la recevabilité de la demande de remise de l'obligation de restituer, au motif que celle-ci était quoi qu'il en soit mal fondée, l'assuré ne pouvant pas se prévaloir de sa bonne foi.
C. M._ interjette un recours en matière de droit public contre ce jugement, dont il demande l'annulation sous suite de frais et dépens. Subsidiairement, il conclut au renvoi de la cause à la juridiction cantonale pour nouvelle décision.

Considérant en droit:
1. 1.1 Aux termes de l'<ref-law>, les mémoires doivent être rédigés dans une langue officielle, indiquer les conclusions, les motifs et les moyens de preuve, et être signés. S'il s'agit d'un recours, les conclusions doivent indiquer sur quels points le jugement entrepris est attaqué et quelles sont les modifications demandées. Elles doivent permettre au Tribunal fédéral de comprendre clairement ce que veut obtenir le recourant. A défaut, le recours est d'emblée irrecevable, sans qu'il y ait lieu d'impartir un délai pour le compléter (FLORENCE AUBRY GIRARDIN, in Commentaire de la LTF, 2009, n° 14, 18 et 20 ad art. 42; LAURENT MERZ, in Commentaire bâlois, Bundesgerichtsgesetz, 2008, n° 20 et 22 ad art. 42). Afin d'éviter tout formalisme excessif, le Tribunal fédéral doit cependant replacer les conclusions dans leur contexte et les interpréter à la lumière du mémoire de recours dans son ensemble, en particulier en tenant compte de sa motivation (cf. <ref-ruling> consid. 1.4 p. 414; <ref-ruling> consid. 2 p. 135; AUBRY GIRARDIN, loc. cit.; MERZ, op. cit., n° 18 ad art. 42).
1.2 Formellement, le recourant conclut à titre principal à l'annulation du jugement entrepris. Cette conclusion ne permet pas de déterminer ce que le recourant entend obtenir en lieu et place de ce jugement. Il ressort néanmoins de l'ensemble du mémoire de recours que le recourant souhaite en réalité la réforme du jugement cantonal en ce sens que la remise de l'obligation de restituer des prestations de l'assurance-chômage lui soit accordée. Il convient par conséquent d'interpréter dans ce sens les conclusions du recourant et d'entrer en matière sur le recours (cf. <ref-ruling> cité).
2. Le jugement entrepris expose correctement les règles légales et la jurisprudence relatives à l'obligation de restituer des prestations de l'assurance-chômage ainsi qu'à la remise de cette obligation. Il convient donc d'y renvoyer.
3. 3.1 Selon l'<ref-law>, le recours peut critiquer les constatations de fait des premiers juges à la double condition que ceux-ci aient été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> et que la correction du vice soit susceptible d'influer sur le sort de la cause. Le recourant doit le rendre vraisemblable par une argumentation répondant aux exigences de motivation de la loi sur le Tribunal fédéral (cf. <ref-ruling> consid. 1.4.3 p. 254 s.). La notion de « manifestement inexacte » figurant à l'<ref-law> correspond à celle d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 1.2.2 p. 252; 384 consid. 4.2.2 p. 391).
S'agissant de l'appréciation des preuves et des constatations de fait, il y a arbitraire lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier sa décision, lorsqu'elle se trompe manifestement sur le sens et la portée d'un tel élément, ou encore lorsque, en se fondant sur le résultat de l'administration des preuves, elle en tire des constatations insoutenables (cf. <ref-ruling> consid. 2.1 p. 9; <ref-ruling> consid. 2a p. 41).
3.2 Selon les constatations de fait des premiers juges, M._ a faussement annoncé à la Caisse qu'il avait exercé une activité lucrative pour diverses sociétés, notamment Y._ et X._; il lui avait remis des attestations d'employeurs qui n'étaient pas conformes à la réalité. Le recourant conteste ces constatations en alléguant qu'il était salarié par Y._ du 3 août au 30 septembre 1998 et par X._ du 1er mars au 31 août 1995. Il n'en démontre toutefois pas le caractère manifestement erroné. En particulier, il ne se réfère à aucune pièce probante (extrait de compte bancaire ou postal, par exemple), ni ne cite aucun témoin en vue de démontrer l'exercice effectif d'une activité soumise à cotisation et le paiement effectif d'un salaire (cf. arrêt 8C_185/2007 du 18 mars 2008 consid. 3.2).
3.3 M._ cherche également à démontrer sa bonne foi en prétendant qu'il était uniquement un administrateur de « droit », et non de « fait », des sociétés Y._ et X._ et qu'il n'avait pas établi lui-même les attestations d'employeur, ni « les déclarations salariales et sociales » de ces deux sociétés. Il n'en reste pas moins qu'en remettant ces attestations à la Caisse en annexe à ses demandes de prestations, le recourant ne pouvait ignorer qu'il l'induisait en erreur. De ce point de vue également, les premiers juges ont nié à juste titre sa bonne foi.
4. Vu ce qui précède, les griefs du recourant sont infondés, ce qui entraîne le rejet de ses conclusions. Il supportera les frais de procédure, conformément à l'<ref-law>.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 2000 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué aux parties, au Tribunal cantonal des assurances sociales de la République et canton de Genève, Chambre 8, et au Secrétariat d'État à l'économie.
Lucerne, le 21 décembre 2009
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Ursprung Métral