Taxis are plentiful, clearly marked, and reasonably priced. You can usually find them at any hour of the day cruising on downtown streets. There are also stands on Avenida Independencia at Calle García Vigil, on the north side of the Alameda de León, and on Calles Abasolo and 5 de Mayo, near the Camino Real Oaxaca. Cabs aren't metered. Determine the fare ahead of time (in town, usually $2-$3), or pay about $15 an hour for destinations within the city. For outlying destinations ask the driver to show you the rate card, or agree on a price before setting out.
An alternative to the bus is to hire a taxi or jump in a colectivo (shared taxi). The fare will be more than what you'd pay for the bus, but you still won't spend that much, and the convenience might be worth it. Colectivos leave from the side of Oaxaca City's second-class bus station, but they can also be flagged down along the road to Mitla if they aren't already full. The colectivo fare to Mitla runs about 25 pesos, while a taxi will charge you at least 400 pesos to take you to Mitla, wait while you tour the site, and drive you back.
Taxis in Puerto Escondido are very reasonable, starting at less than $2 for a ride from one end of town to another (say, from the Adoquín to Fraccionamiento Bacocho). Late-night rides will be slightly more expensive. Most cabs here don't cruise, but are stationed at either end of the Adoquín, and near the main market.
Over in Huatulco, La Crucecita cabs are similarly inexpensive, running $1.50-$3.50, and can be found on Calle Gardenia at the entrance to La Crucecita and at the major hotels. For a cab in Huatulco, call Sitio de Taxi Chahué; in Puerto Escondido, call Puerto Escondido Taxi.
Puerto Escondido Taxi (954/582-0270 or 954/582-0990). Sitio de Taxi Chahué (958/587-0712).