Snorlax does not learn hypnosis.
Without hacking, Kadabra cannot learn Hypnosis.
I think Gardevoir is a good Pokemon who learns Hypnosis at level 51
Drowzee and Hypno are top choices. but most psychic Pokemon know/can learn Hypnosis.
Munna and Sigilyph.
you can catch a ralts on route 102 and put an everstone on it, then it will learn hypnosis at level 41
Its not a TM. Your Pokemon has to learn it. like Gastly :) (Gengar in lvl 100 with hypnosis is pwnage :p)
Any Pokemon that can learn a electric move
See the related link below.
Only certain Pokemon can learn it but you can't find the TM
Munna, the psychic pig, and Musharma, the bigger psychic pig, both learn Hypnosis at quite low levels.
I don't know all of the Pokemon that can learn Headbutt, but I know that Cubone can learn it.
lvl 41