Faits: A. Né en 1957 et ressortissant d'Irak, A.X._ est entré en Suisse le 31 mai 1998, avec son épouse, B._, née en 1964, et leurs deux enfants, C._, née en 1994, et D._, né en 1996. Leur demande d'asile, déposée en août 1998, a été rejetée le 25 novembre 1999 et le renvoi de la famille prononcé. Reconsidérant sa décision initiale sous l'angle du renvoi, l'Office fédéral des réfugié (devenu l'Office fédéral des migrations; ci-après l'Office fédéral) a mis les membres de la famille X._ au bénéfice d'une admission provisoire (permis F) le 10 août 2001. Entre le 28 septembre 2000 et le 24 novembre 2006, A.X._ et/ou son épouse ont déposé à cinq reprises des demandes tendant à la délivrance d'un certificat d'identité ou d'un visa, afin de pouvoir se rendre à l'étranger. L'Office fédéral a rejeté ces demandes. Le 26 octobre 2006, A.X._ a demandé la transformation du permis F en permis B pour lui, sa femme et ses deux enfants, en invoquant des raisons humanitaires (cas d'extrême gravité). Il a fait valoir de graves problèmes de santé, la difficulté d'un retour dans leur pays pour ses enfants, leur bonne intégration en Suisse et le fait que la famille ne faisait l'objet d'aucune poursuite. L'instruction de la requête a mis en évidence que la famille X._ avait bénéficié de prestations d'assistance s'élevant au total, pour la période du 1er janvier 2004 au 30 novembre 2006, à 133'019 fr. 95. Par décision du 8 mai 2007, entrée en force, le Service de la population du canton de Vaud (ci-après: le Service cantonal) a refusé l'octroi d'un permis B à la famille X._ en raison de leur dépendance à l'assistance publique. B. Le 27 janvier 2009, A.X._ a déposé, pour lui et sa famille, une nouvelle demande de permis B, en faisant notamment valoir qu'il était malade. Selon une attestation de décembre 2008 de la Policlinique Médicale Universitaire du canton de Vaud, il est en traitement depuis juillet 1998 pour une obésité de stade IV, un diabète de type 2, une hypertension artérielle, une dyslipidémie traitée, une maladie coronarienne, un syndrome d'apnée du sommeil, un glaucome à l'oeil gauche et une probable maladie de Berger. De l'avis des médecins, un suivi médical en Suisse est indispensable. Le 11 mars 2009, la fille de A.X._, C._, a obtenu la nationalité suisse, alors que la naturalisation de son frère, D._, est en cours de procédure. Le 6 avril 2009, le Service cantonal, traitant la requête précitée du 27 janvier 2009 comme une demande de reconsidération de sa première décision du 8 mai 2007, l'a déclarée irrecevable, subsidiairement l'a rejetée. Par arrêt du 28 octobre 2009, le Tribunal cantonal du canton de Vaud, Cour de droit administratif et public (ci-après: le Tribunal cantonal), a rejeté le recours interjeté par A.X._ contre la décision du Service cantonal du 6 avril 2009 et a confirmé celle-ci. Tout en laissant ouverte la question de savoir si le refus d'entrer en matière du Service cantonal sur la demande du 27 janvier 2009 était justifié, les juges cantonaux ont considéré que, de toute façon, sur le fond, l'octroi d'une autorisation de séjour à A.X._ et à son épouse devait être refusé, en raison de leur dépendance à l'aide sociale. L'arrêt cantonal souligne en outre que la décision attaquée n'implique pas que les intéressés doivent quitter la Suisse, le recourant pouvant continuer à y résider avec famille et à s'y faire soigner. C. Contre l'arrêt du 28 octobre 2009, A.X._ forme un recours en matière de droit public au Tribunal fédéral. Il conclut à l'annulation de la décision entreprise et, à titre provisionnel, à l'octroi de l'assistance judiciaire partielle ainsi qu'à la suspension de l'exécution du renvoi jusqu'à droit connu sur son recours. Par ordonnance du 23 novembre 2009, le Président de la IIe Cour de droit public a informé le recourant qu'il serait statué ultérieurement sur sa demande d'assistance judiciaire. Il a également déclaré la demande de suspension sans objet, car le recourant continuait à pouvoir résider en Suisse. Le Tribunal cantonal a renoncé à répondre, se référant aux considérants de l'arrêt attaqué. Dans ses déterminations, le Service cantonal conclut au rejet du recours, à l'instar de l'Office fédéral. 