In a large skillet, melt butter over medium-low heat. Add onions; cover and cook for 40 minutes, stirring occasionally.
Increase heat to medium-high. Uncover and cook, stirring frequently, until onions are caramel colored, 10 to 15 minutes. Remove from heat, and stir in vinegar, pepper, and salt. Use immediately, or let cool, cover, and refrigerate for up to 3 days.
In a small bowl, combine all ingredients for the Crunch Topping.
Preheat oven to 350°. Spray a 2-quart baking dish with nonstick cooking spray.
In a large bowl, beat cream cheese and next 3 ingredients at medium speed with a mixer until combined. Stir in crumbled bacon and Caramelized Onions. Spoon mixture into prepared pan, and sprinkle with Crunchy Topping.