Make the pulled pork: In a small bowl, combine the chili powder, brown sugar, smoked paprika, garlic powder, salt, and pepper. Massage the pork shoulder with half the olive oil, then coat it all over with the spice rub. Cover and refrigerate overnight.
Preheat the oven to 425°F. Let the pork come to room temperature on the counter for 30 minutes prior to cooking.
Heat a large Dutch oven over medium-high and add the remaining olive oil. Sear the pork on all sides until golden brown, two to three minutes per side. Pour in the cola and transfer the pork to the oven. Immediately decrease the oven temperature to 325°F and cook for six and a half to seven and a half hours, or until the pork is basically falling apart and easily shreddable and the kitchen smells like heaven.
Rest the cooked pork on board for ten minutes.
While the pork is resting, make the coleslaw: In a large bowl, combine all the ingredients except for the cabbages and carrots and mix until smooth. Add the cabbage and carrots and mix until the vegetables are coated and the coleslaw is creamy and delicious. Set aside.
Shred the pork with two forks, disregarding any bones or excess fat. Toss the pulled pork in the pan juices, then pour over as much BBQ sauce as your heart desires and toss.
Serve on a bun with the coleslaw, the pickles, and some hot sauce. Delicious!