These Pokemon learn the most HMs in every game (besides Mew, Arceus, and post-national Pokedex Pokemon).
RBY: Charizard (cut, fly, strength), Slowpoke (flash, strength, surf), Krabby and Lickitung (cut, strength, surf)
GSC: Psyduck (not cut and fly), Dragonite and Lugia (not flash and cut)
RSE: Lombre and Psyduck (not cut and fly), Crawdaunt (not flash and fly), Latias and Latios (not rock smash and strength), Rayquaza (not cut and flash)
FRLG: Dragonite (not flash)
DPPt: Empoleon (not fly)
HGSS: Feraligatr (not fly), Dragonite (not rock climb)
BW: Samurott (not fly)
B2W2: Samurott and Crawdaunt (not fly)
XY: Dragonite (all of them)
ORAS: Crawdaunt (not fly), Rayquaza (not cut)
source: Pokemon DB's HM pages, and Showdown's /ds command because the RBY page is inaccurate.
If you've played any of these games, you can probably tell this is not a very good list of HM slaves, for several reasons:
Some of them are starters, which you can obtain only once (without breeding) and probably want to use in battle.
Some of them are difficult to evolve, and experience is a valuable resource.
Some of them (especially the legendaries) aren't obtainable early, so you have less time to use them.
So a list of "good" HM slaves should consider all of these in addition to the number of HMs that the Pokemon learns. This list includes the number of HMs needed to obtain the Pokemon, and avoids listing evolved Pokemon. (Pokemon that are easy to evolve, like DP Wingull, are probably fine)
RBY: Farfetch'd (needs 0, cut, fly), Jigglypuff (needs 0, flash, strength) (if your main party doesn't have Blastoise, Nidoking, Vaporeon, or any of the other surf users, you're probably doing something wrong)
GS: Krabby (needs 0, not flash, fly, waterfall)
C: Psyduck (needs 0, not cut and fly)
RSE: Marill (needs 0, not cut, flash, fly)
FR: Psyduck (needs 1, not cut and fly)
LG: Poliwhirl, Gyarados, Lapras (needs 1, not flash, cut, fly), Krabby, Kanghaskhan (needs 1, not flash, fly, waterfall)
DP: Psyduck (needs 0, rock smash, surf, strength, waterfall), Bibarel (needs 2, not defog and fly)
Pt: Psyduck (needs 0, rock smash, surf, strength, waterfall), Bibarel (needs 2, not defog and fly), Lickitung (needs 2, not defog, fly, waterfall), Tropius (needs 2, not surf, rock climb, waterfall)
HGSS: Krabby (needs 0, not fly, waterfall, rock climb)
BW: Panpour (needs 0, not fly and strength)
B2W2: Psyduck (needs 0, not cut and fly)
XY: Corphish (needs 1, not fly)
ORAS: Marill (needs 0, not cut and fly)
Please tell me if I missed any Pokemon or got any of the numbers wrong