Place eggs in a large saucepan; add water to depth of 3 inches. Bring to a boil; cover, remove from heat, and let stand 15 minutes.
Drain immediately, and fill the saucepan with cold water and ice. Tap each egg firmly on the counter until cracks form all over the shell. Peel under cold running water.
Slice eggs in half lengthwise, and carefully remove yolks. Mash yolks with mayonnaise. Add cream cheese, next 3 ingredients, and, if desired, horseradish to yolk mixture; stir well. Spoon yolk mixture into egg whites; sprinkle with bacon. Garnish, if desired.