For pork: Preheat oven to 275°. Line a small roasting pan with foil. Mix cumin, garlic powder, and smoked paprika in a small bowl. Rub spice mix all over pork. Sprinkle with salt and pepper. Place pork in pan and cover with sliced onion. Pour 1/2 cup water in the bottom of pan. Cover pan tightly with foil and roast until meat is very tender, 56 hours. Let pork rest until cool enough to handle.
Using 2 forks, shred pork into bite-size pieces. Skim fat from juices in roasting pan; reserve meat. DO AHEAD: Can be made 2 days ahead. Cover and chill pork and juices separately.
For posole: Heat oil in a large pot over medium-low heat. Add onion and sauté until translucent, about 5 minutes. Add garlic and cook, stirring often, until fragrant, about 2 minutes. Add the diced fresh tomatoes and stir until softened, about 2 minutes longer. Stir in broth and next 5 ingredients. Bring to a boil and reduce heat to low. Cover; simmer, stirring occasionally, for 30 minutes.
Add reserved pork to posole. Simmer uncovered 30 minutes longer for flavors to meld. Season to taste with salt and pepper, adding reserved juices from roast pork, if desired. Divide among bowls, garnish with shredded cheese, cilantro, and lime wedges, and serve with flour tortillas.