In a small sauce pan, combine 1 cup water, 1/2 cup white rice and 1 teaspoon salt. Bring to a roiling boil, cover and reduce heat to a simmer. Cook 15 minutes or until done. Turn cooked rice out onto a plate to cool.
In a large mixing bowl, combine the ground meat with the eggs, minced garlic, breadcrumbs, 1/2 teaspoon salt and 1/4 teaspoon ground black pepper and cooled rice. Mix thoroughly with your hands or a spatula.
Place tomatoes in a saucepan and cover with water; simmer over medium-high heat for 8 to 10 minutes, until cooked through and mushy.
In a blender, add the cooked tomatoes along with 1/4 cup of their cooking liquid, 2 garlic cloves, white onion, the sauce from the chipotle chiles in adobo and, if desired, one whole seeded chipotle chile. Purée until smooth.
Pour the oil into a large soup pot and place over medium-high heat. Once hot, pour in the puréed tomato mix. It will sizzle and jump, that is ok! Let it simmer, with the lid ajar, anywhere from 6 to 8 minutes, or until it has changed its color to a deeper red, thickened in consistency and lost its raw flavor. Add the chicken broth and salt to taste and reduce heat to medium low.
Place a small mixing bowl with water to the side of the soup pot with the simmering tomato broth. Wet your hands and start to make the meatballs, one by one. They should be anywhere from 1 to 2″. Gently place the meatballs in the simmering tomato broth.
Once you have shaped all the meatballs, add the cilantro sprigs to the pot, then simmer over medium-low heat for 25 to 30 minutes.
Serve hot with a side of avocado slices and warm corn tortillas.