In a Dutch Oven (or a large heavy pot) heat the oil over medium-high heat. Add the onion and celery and saute until onion is translucent, about 5-7 minutes. Add the garlic (if using) and saute quickly, about 30 seconds.
Add the broth, chicken breasts, tomatoes and spices and bring to a boil. Once boiling, lower the heat to low, cover the pot and simmer until chicken breasts are done (anywhere from 30 minutes to 1 hour).
Remove chicken breasts to cutting board and let them get cool enough to handle. With two forks, pull apart the chicken meat, shredding it into bite-size pieces.
Return the shredded chicken to the pot and add salt and pepper to taste. Stir in the lime juice and return to a low boil.
Ladle soup into bowls. Place avocado chunks, lime wedges and chopped cilantro in small bowls and pass around for people to add to soup according to their own taste.