Faits: A. Le 3 octobre 2001, X._, ressortissant portugais né en 1975, qui avait déjà séjourné à trois reprises en Suisse en qualité de travailleur saisonnier entre juin 1998 et août 2000, a déposé une nouvelle demande d'autorisation de séjour. Par décision du 20 mars 2002, le Service de la population du canton de Vaud (ci-après: le Service de la population) a rejeté la demande, au motif, notamment, que l'intéressé avait été condamné à dix jours d'emprisonnement avec sursis pour contravention à la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (Loi sur les stupéfiants, LStup; RS 812.121) et infraction à la loi fédérale du 26 mars 1931 sur le séjour et l'établissement des étrangers (LSEE; RS 142.20). X._ a recouru contre cette décision devant le Tribunal administratif du canton de Vaud (ci-après: le Tribunal administratif). Faute du paiement de l'avance de frais requise, son recours a été déclaré irrecevable (arrêt du 7 juin 2002). Le Service de la population lui a alors imparti un «délai immédiat» pour quitter le canton de Vaud (décision du 10 juin 2002). B. A la suite de l'entrée en vigueur, le 1er juin 2002, de l'Accord du 21 juin 1999 entre la Confédération suisse, d'une part, et la Communauté européenne et ses Etats membres, d'autre part, sur la libre circulation des personnes (ALCP; RS 0.142.112.681; ci-après cité: Accord sur la libre circulation des personnes ou Accord ), X._ a demandé, le 13 juin 2002, que son cas soit reconsidéré à la lumière de cet accord. Par décision du 18 juin 2003, le Service de la population a rejeté la demande de reconsidération. Saisi d'un recours contre cette décision, le Tribunal administratif l'a également rejeté. En bref, cette autorité a considéré que X._, sans travail et au bénéfice de l'aide sociale, ne disposait pas des moyens financiers suffisants pour assurer sa subsistance, ce qui le privait du droit d'obtenir une autorisation de séjour pour ressortissant communautaire «n'exerçant pas d'activité économique» ou «à la recherche d'un emploi» (arrêt du Tribunal administratif du 24 octobre 2003). C. Agissant par la voie du recours de droit administratif, X._ demande au Tribunal fédéral d'annuler, sous suite de frais et dépens, l'arrêt précité du Tribunal administratif, en concluant à ce que le Service de la population soit invité à lui délivrer «une autorisation de séjour, cas échéant une autorisation de courte durée pour recherches d'emploi». Il requiert le bénéfice de l'assistance judiciaire gratuite pour le paiement des frais de justice. Pour l'essentiel, il fait valoir qu'une autorisation de séjour doit lui être accordée, vu sa qualité de travailleur communautaire ou, du moins, de ressortissant communautaire à la recherche d'un emploi. Il souligne que la précarité de sa situation actuelle n'est que provisoire et qu'il n'en est nullement responsable. Le Tribunal administratif et le Service de la population se réfèrent aux considérants de l'arrêt attaqué. L'Office fédéral de l'immigration, de l'intégration et de l'émigration (ci-après: Office fédéral) conclut au rejet du recours. D. Par ordonnance du 11 décembre 2003, le Président de la IIe Cour de droit public a accordé l'effet suspensif au recours. 