Put bacon into a large skillet; cook over medium-high heat, turning once, until crisp, 3 to 4 minutes per side. Let drain on paper towels. Reserve 6 slices, and coarsely chop 7 slices; set aside. Pour grease from skillet into a bowl, and wipe skillet clean; set skillet and grease aside.
Bring milk, 2 cups water, the grits, and 1 teaspoon salt to a boil in a medium saucepan, stirring constantly. Reduce heat to low. Cover, and simmer, stirring occasionally, 5 minutes. Stir in cream cheese, butter, and reserved chopped bacon. Season with salt and pepper.
Meanwhile, heat 1 teaspoon bacon grease in reserved skillet over medium heat. Add garlic; cook, stirring, 30 seconds. Add spinach; season with salt and pepper. Cook, stirring, until spinach has wilted, about 2 minutes; set aside.
Bring a large shallow saucepan of water to a boil. Reduce to a simmer. Crack 1 egg into a small bowl, then slide it into simmering water. Quickly repeat with remaining eggs. Cook, gently turning eggs with a slotted spoon, until whites are opaque but yolks are still soft, 21/2 to 3 minutes. Serve with grits, spinach, and bacon. (If grits have become too thick, reheat, stirring in more milk as needed.)