Faits:
A. C._, né en 1946, a été engagé par la Municipalité de X._ dès le 1er mai 1991 en qualité d'adjoint administratif, fonction alors rangée dans la classe 6 de l'échelle des traitements. A sa demande, il a été transféré, à partir du 1er juin 1996, au Service Y._ (Direction des services Y._). Il a régulièrement progressé dans sa carrière pour atteindre la classe 3 au 1er janvier 2003.
A la fin de l'année 2007, la Direction des services Y._ a proposé à la Municipalité d'accorder à C._ une promotion en classe 2 dès le 1er janvier 2008. La Municipalité a refusé cette promotion. En effet, lors d'une séance du 7 décembre 2007, elle a décidé de ne pas accorder de promotion à huit collaborateurs ayant atteint l'âge de la retraite facultative, soit respectivement 55 et 60 ans, suivant leur affiliation à la Caisse de pensions du personnel de la Commune de X._ (CPCX). La Municipalité a considéré que ces fonctionnaires pouvaient en tout temps prendre leur retraite avec effet immédiat et ne pas avoir à payer ou ne pas payer suffisamment de cotisations à la Caisse de pensions en fonction du nouveau salaire assuré. La Municipalité a aussi relevé que la CPCX, régie par le principe de la primauté des prestations, nécessitait une importante recapitalisation pour retrouver un taux de couverture « acceptable ». Le refus des huit promotions en question avait pour but de ne pas aggraver sa situation, la charge potentielle pour la caisse étant estimée à 328'608 fr. à l'indice 2007 pour les huit collaborateurs concernés. En revanche, la Municipalité a décidé d'accorder à ces derniers une prime unique, non comprise dans le salaire assuré, allant de 3'000 à 5'000 fr.
Lors d'une nouvelle séance, du 19 mars 2008, la Municipalité a confirmé sa décision « d'exclure désormais des mesures de fin d'année les cadres (classes 4-1A) de plus de 60 ans affiliés en catégorie A, et ceux de 55 ans et plus, affiliés en catégorie B, avec réexamen de la situation une fois connue les conclusions du rapport-préavis concernant la révision du règlement de la CPCX». Elle a confirmé que les primes qui seraient versées à ces fonctionnaires en lieu et place d'une promotion seraient « égales au montant de l'augmentation annuelle selon barème » et seraient versées jusqu'à la prise de la retraite.
Une prime annuelle de 3000 fr. a été accordée à C._. La décision formelle de refus d'une promotion lui a été communiquée le 3 avril 2008.
B. C._ a recouru contre cette décision en concluant à l'octroi de la promotion refusée. Statuant le 12 janvier 2009, la Cour de droit administratif et public du Tribunal cantonal du canton de Vaud a rejeté son recours dans la mesure où il était recevable.
C. C._ interjette un recours en matière de droit public, subsidiairement un recours constitutionnel subsidiaire. Il demande au Tribunal fédéral de constater qu'il a droit à la promotion qui lui a été refusée par la décision du 19 mars 2008 et conclut au renvoi de la cause à l'autorité cantonale afin qu'elle statue à nouveau dans le sens des considérants. La Municipalité de X._ conclut au rejet du recours.

Considérant en droit:
1. 1.1 La décision attaquée a été rendue en matière de rapports de travail de droit public au sens de l'art. 83 let. g LTF. Le recourant entend obtenir une promotion dans la classe 2. Sa conclusion tend indirectement à l'obtention d'un gain assuré plus élevé pour le calcul de sa pension de retraite et vise donc de manière prépondérante un but économique. Il s'agit donc d'une contestation de nature pécuniaire, de sorte que le motif d'exclusion de l'art. 83 let. g LTF n'entre pas en considération.
1.2 La voie du recours en matière de droit public dans le domaine des rapports de travail de droit public est ouverte si la valeur litigieuse atteint le seuil de 15'000 fr. (<ref-law>). Le recourant n'indique pas quelle est la valeur litigieuse. Celle-ci résulte toutefois clairement de la décision attaquée. A elles seules, les incidences qu'auraient des augmentations de traitement sur le montant de pensions de retraite futures pour huit collaborateurs dans une situation comparable à celle du recourant sont estimées à 328'608 fr. On peut en conclure que la valeur litigieuse dépasse largement, pour ce qui le concerne, le seuil de 15'000 fr.
2. Le jugement attaqué pouvant faire l'objet d'un recours en matière de droit public, la voie du recours constitutionnel subsidiaire, également formé à titre subsidiaire par le recourant, est irrecevable (<ref-law>).
3. Le statut des fonctionnaires de la Commune de X._ est régi par un règlement pour le personnel de l'administration communale du 11 octobre 1977 (RPAC). Est litigieuse, en l'espèce, la promotion du recourant de la classe 3 à la classe 2 de l'échelle des traitements prévue à l'art. 34 RPAC. Il s'agit d'une promotion dite de carrière qui consiste à passer d'une classe de traitement inférieure à une classe supérieure, dans une même filière d'activité professionnelle (cf. BLAISE KNAPP, L'engagement et la promotion des agents publics en Suisse, RDAF 1982 p. 245 ss, plus spécialement p. 255). Le RPAC ne règle pas directement les conditions de ce type d'avancement. A son art. 36 al. 3, il prévoit qu'en cas de promotion, le nouveau traitement sera au moins égal à l'ancien, majoré d'une augmentation ordinaire de la nouvelle classe. Selon son art. 37, la Municipalité récompense un fonctionnaire particulièrement méritant en lui accordant des augmentations extraordinaires dans les limites de la classe correspondant à sa fonction. Selon une instruction administrative édictée par la Municipalité en application de l'art. 83 RPAC, une promotion dans la classe supérieure n'intervient, en règle générale, qu'après quatre ans au moins dans la classe précédente et à condition que la personne donne satisfaction à tous égards. On peut en déduire que les fonctionnaires progressent, en règle ordinaire, dans les limites des classes de traitement correspondant à leur fonction, à des intervalles de quatre ans au minimum, pour autant que toutes les conditions subjectives soient remplies. Les termes «en règle générale» et «au minimum» laissent un large pouvoir d'appréciation à l'autorité, ce qui permet de conclure qu'un fonctionnaire n'a pas droit à une promotion automatique après une période de quatre ans dans la même classe.
4. 4.1 En l'espèce, la question se pose sous un angle différent, car la Municipalité a décidé de ne plus accorder de promotions à certains cadres (classes 4 à 1A) en situation de prendre une retraite anticipée, cela indépendamment de leurs mérites et de la durée pendant laquelle ils se trouvent colloqués dans une même classe de traitement. Le recourant soutient que cette pratique viole le droit à l'égalité, car elle ne concerne que les cadres supérieurs, les promotions au sein des classes inférieures étant, par délégation du pouvoir municipal, du ressort des différentes directions de l'administration; or celles-ci continueraient d'accorder des promotions quel que soit l'âge des fonctionnaires qui en remplissent les conditions objectives. Selon le recourant, la pratique contestée serait, de surcroît, constitutive d'une discrimination fondée sur l'âge, contraire aux constitutions tant cantonale que fédérale.
4. 4.1 En l'espèce, la question se pose sous un angle différent, car la Municipalité a décidé de ne plus accorder de promotions à certains cadres (classes 4 à 1A) en situation de prendre une retraite anticipée, cela indépendamment de leurs mérites et de la durée pendant laquelle ils se trouvent colloqués dans une même classe de traitement. Le recourant soutient que cette pratique viole le droit à l'égalité, car elle ne concerne que les cadres supérieurs, les promotions au sein des classes inférieures étant, par délégation du pouvoir municipal, du ressort des différentes directions de l'administration; or celles-ci continueraient d'accorder des promotions quel que soit l'âge des fonctionnaires qui en remplissent les conditions objectives. Selon le recourant, la pratique contestée serait, de surcroît, constitutive d'une discrimination fondée sur l'âge, contraire aux constitutions tant cantonale que fédérale.
4.2 Pour autant qu'ils sont suffisamment motivés (art. 106 al. 2 et 42 al. 2 LTF), ces griefs sont mal fondés.
4.2.1 Aux termes de l'art. 8 al. 2 Cst. (qui ne diffère guère quant à son contenu de l'art. 10 al. 2 de la Constitution du canton de Vaud du 14 avril 2003 (RS VD 101.01), nul ne doit subir de discrimination du fait notamment de son origine, de sa race, de son sexe, de son âge, de sa langue, de sa situation sociale, de son mode de vie, de ses convictions religieuses, philosophiques ou politiques ni du fait d'une déficience corporelle, mentale ou physique. On est en présence d'une discrimination selon l'art. 8 al. 2 Cst. lorsqu'une personne est traitée différemment en raison de son appartenance à un groupe particulier qui, historiquement ou dans la réalité sociale actuelle, souffre d'exclusion ou de dépréciation. Le principe de non-discrimination n'interdit toutefois pas toute distinction basée sur l'un des critères énumérés à l'art. 8 al. 2 Cst., mais fonde plutôt le soupçon d'une différentiation inadmissible. Les inégalités qui résultent d'une telle distinction doivent dès lors faire l'objet d'une justification particulière (<ref-ruling> consid. 3 p. 169; <ref-ruling> consid. 2.1 p. 223; <ref-ruling> consid. 6a p. 392; BERNHARD PULVER, L'interdiction de la discrimination, thèse Neuchâtel 2003, p. 72 ss, no 119 ss, spécialement 122; ETIENNE GRISEL, Egalité, Les garanties de la Constitution fédérale du 18 avril 1999, Berne 2009, ch. 148 ss p. 88 sv.; JEAN-FRANÇOIS AUBERT/PASCAL MAHON, Petit commentaire de la Constitution fédérale de la Confédération suisse du 18 avril 1999, 2003, no 12 ss ad art. 8).
4.2.2 En l'espèce, comme l'ont relevé les premiers juges, les motifs invoqués par la Municipalité apparaissent objectivement justifiés. Le régime de primauté des prestations appliqué par la Caisse de pensions implique que la pension à verser aux fonctionnaires retraités soit calculée sur la base du dernier salaire de l'intéressé. Une importante augmentation de salaire qui intervient à proximité de la retraite ne permet pas au fonctionnaire concerné de cotiser de manière à compenser la charge supplémentaire que cette augmentation entraîne pour la caisse.
4.2.3 On ajoutera que l'avancement dans une classe de traitement supérieure est une étape dans la carrière professionnelle du fonctionnaire. Il constitue un instrument important de gestion du personnel. Dans cette optique, il peut aussi être remplacé - comme ici - par le versement de primes, qui permet de favoriser l'engagement au travail et la motivation du fonctionnaire. Une promotion ne saurait guère trouver une justification prioritaire dans l'augmentation de la pension de retraite future du fonctionnaire. En cas d'affiliation de l'employé à une institution de prévoyance organisée selon le principe de la primauté des prestations l'usage tend à limiter ou à supprimer les promotions à des agents qui sont sur le point d'atteindre l'âge de la retraite, précisément pour éviter de transférer des charges non financées à l'institution. Cela peut se justifier à plus forte raison lorsque, comme en l'espèce, les agents concernés se trouvent déjà en situation de prendre une retraite facultative au moment où interviendrait une promotion.
Certes, on peut se demander s'il serait légitime de refuser par principe une promotion à un fonctionnaire qui serait en situation de prendre sa retraite facultative avant l'âge (par ex. à 55 ans), mais dont on peut penser qu'il exercera son activité pendant de nombreuses années encore (cf. sur ce point KNAPP, op. cit., p. 260). Le contexte est toutefois différent en l'espèce. Il s'agit, comme il ressort du jugement attaqué, d'une mesure transitoire dans l'optique d'une révision à brève échéance des statuts de la caisse de pensions visant à introduire progressivement un calcul de la pension de retraite sur la base des trois dernières années de salaire (et non plus comme actuellement sur le dernier salaire). Dans un contexte d'assainissement de la CPCX, entrepris en raison d'un faible taux de couverture, le souci de l'employeur d'éviter la création au dernier moment de situations emportant des droits acquis sur lesquels il ne sera pas possible de revenir ultérieurement répond à un motif objectivement fondé. Dans de telles circonstances la mesure critiquée n'apparaît en tout cas pas discriminatoire.
4.2.4 Par ailleurs, un statut des fonctionnaires ne peut pas être aménagé d'une manière uniforme, des minima et des maxima paraissant souvent inévitables (GRISEL, op. cit., no 166). Il n'apparaît donc pas discriminatoire de tenir compte, pour l'octroi d'une promotion en fin de carrière, de la situation économique du fonctionnaire, telle qu'elle résulte de sa collocation actuelle dans l'échelle des traitements: un traitement élevé peut justifier un refus de promotion au moment où l'intéressé est proche de l'âge de la retraite (ou comme en l'espèce a atteint l'âge de la retraite facultative); à l'inverse on peut concevoir qu'une telle limitation ne soit pas applicable - ou le soit de façon plus nuancée - aux fonctions qui se situent dans les classes inférieures de l'échelle des traitements.
4.3 Le grief tiré de l'interdiction d'une discrimination n'est dès lors pas fondé.
5. C'est en vain également que le recourant se plaint d'une violation de la liberté syndicale (cf. <ref-ruling>), en arguant que la Municipalité aurait dû préalablement consulter les fédérations du personnel conformément à l'art. 55 al. 2 RPAC. Cette disposition prévoit une telle consultation «pour toutes les questions générales intéressant l'ensemble du personnel communal». En l'espèce, on est en dehors de ces prévisions. Il s'agit, comme l'ont relevé les premiers juges, de mesures individuelles limitées à des fonctionnaires en situation de prendre une retraite facultative.
6. Vu ce qui précède, le recours en matière de droit public doit être rejeté. Succombant, le recourant supportera les frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours constitutionnel subsidiaire est irrecevable.
2. Le recours en matière de droit public est rejeté.
3. Un émolument judiciaire de 1'000 fr. est mis à la charge du recourant.
4. Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour de droit administratif et public.
Lucerne, le 28 juillet 2009
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président: La Greffière:
Ursprung Berset