Just a quick post to provide information on traveling between Oaxaca and Puerto Escondido by bus. The best option we found is a minibus service operated by a company called Servicio Express.
In Oaxaca, they are located at Arista 116 in the centro. You can buy your tickets a day ahead and choose your seats. The trip to Puerto cost 130 pesos, and takes about six hours, depending on your driver. There are a lot of swtichbacks, so it is a bit of a wild ride. If you are prone to car sickness it might be a problem, but we had no trouble.
You get dropped off in the center of Puerto in front of the Hotel Luz del Angel. Note the location, as it is the place the bus leaves from to return to Oaxaca. The hotel is on the corner of 1 Norte and Av. Oaxaca.
If you are staying in the Zicatela beach area, it is a quick inexpensive cab trip to get there. You can buy tickets back to Oaxaca from the travel agency on the Zicatela strip. They charge an extra 20 pesos per ticket commission, but it saves having to trek up to the centro to get tickets.
There is also a first class bus that goes between Oaxaca and Puerto, but it takes something like 10 hours, so we really didn't consider it.