Heat 2 tablespoons olive oil in a large pot or Dutch oven over medium heat. Add diced onion and cook until softened and translucent, about 5 minutes, stirring occasionally. Add minced garlic, cumin, oregano, and chili powder. Cook for 1-2 minutes until fragrant, stirring constantly to prevent burning. Don't skip this step - proper sautéing creates the foundation for your white chicken chili's flavor.
Pour in 4 cups chicken broth and stir to combine, scraping up any browned bits from the bottom. Add drained and rinsed white beans (cannellini or great northern). Stir in diced green chiles and jalapeños if using. Add white pepper. Bring mixture to a simmer and let cook for 10-15 minutes, stirring occasionally. The beans should soften slightly but not fall apart.
If using raw chicken breasts, add them whole to the pot. Submerge them in the liquid and simmer for 20-25 minutes until cooked through and internal temperature reaches 165°F. Remove chicken, shred with two forks, and return to pot. If using rotisserie chicken, shred it and add near the end of cooking. Season with salt to taste and add 2 tablespoons lime juice for brightness.
Reduce heat to low - this step is critical for creamy texture. Cut 8 ounces cream cheese into small cubes. Add cream cheese cubes to the pot and stir constantly until completely melted and incorporated smoothly into the chili. Never add cream cheese to boiling liquid or it will separate and turn grainy. Let simmer on low for 5 more minutes to meld all flavors together.
Ladle white chicken chili into bowls. Top each serving with shredded monterey jack or pepper jack cheese, a generous dollop of sour cream, fresh chopped cilantro, diced avocado, and a squeeze of fresh lime. Serve with tortilla chips or Fritos on the side for scooping. Let everyone customize their bowl with their favorite toppings.