So say I just breeded a charizard to get the egg move dragon dance.
Can that charmander that knows dragon dance also learn another egg move like Dragon pulse?
In other words, can a Pokémon learn more than 1 egg move? Or they're just limited to one.
Yes. In fact, you can fill all 4 moveslots on a newborn Pokemon with Egg Moves. And in several cases, chain breeding Egg Moves from one specie to another is required to get the desired moveset. So, to borrow an example from Serebii's Breeding Page, to obtain a Cradilly with Rockslide, you must first breed a Relicanth (Rockslide) with a Corsola, and then the resultant Corsola (Rockslide) with a Cradilly.
One thing to note, though, is that prior to X/Y/OR/AS, only the father could pass down Egg Moves to the child. In those games, however, (and presumably the upcoming Sun/Moon) both the mother and the father can pass them down. This makes the process significantly easier, as you can skip a lot of the extra eggs searching for a male before moving on with your moveset.
Also, when breeding for a dragon dance charizard does the dragonite need to have acces to the move already? Or can I still breed with the dragonite that doesn't have dragon dance in its moveset, and still have the charizard learn dragon dance.
In order for the child to have the Egg Move, the parent(s) must currently have the move in their moveset. So, specific to your example, the Dragonite would have to currently have Dragon Dance for the resultant Charmander to have Dragon Dance.
If you're willing to brave the occasionally convoluted notation and now slightly out of date nature, Serebii's Breeding Page has a lot of useful info on how breeding works.