To prepare the filling, combine the cream cheese and powdered sugar in the bowl of an electric mixer and whip until smooth. Form into a log on plastic wrap or foil, making sure that the diameter is small enough to fit into the well of a muffin pan. Wrap the log up tightly and freeze until slightly hardened, 1-2 hours. (I only let it sit in the freezer while I made the rest of the recipe. The log was soft when I cut it, but it still worked well. Just a little messy).
To make the muffins, combine the flour, spices, salt and baking soda in a medium bowl. Mix well and set aside. In the bowl of an electric mixer, combine the eggs, oil, sugar and pumpkin puree. Mix until well combined. Add in the dry ingredients and mix on low speed until just combined.
To make the streusel topping, combine all ingredients in a small bowl. Mix together with a pastry blender or two forks until crumbly.
Preheat the oven to 350°. Line two muffin pans with paper liners. To assemble the muffins, fill each muffin well halfway with batter. Remove the cream cheese log from the freezer and slice into 24 equal slices. Place a slice in each muffin well. Divide the remaining muffin batter evenly among the muffin cups, on top of the cream cheese. Sprinkle the streusel topping over the top of the batter. Bake for 20-25 minutes. Let cool completely before serving.