In a large skillet, cook bacon over medium heat until crisp, remove from pan and drain of all but 2 tablespoon of the bacon fat. Add potatoes to the hot bacon drippings and cook until just tender-- about 5-7 minutes. Add ham and onion. Cook and stir until onion is tender and stir in ranch dressing packet.
In a greased 13-in. x 9-in. baking dish, layer half the bread cubes, potatoes mixture, bacon and cheese. Repeat layers of bread, potatoes, meat, and cheese.
In a large bowl, beat the eggs; add the milk and salt. Pour over all. Cover and chill overnight.
Remove from refrigerator 30 minutes before baking. Bake, uncovered, at 325° for 65-70 minutes or until a knife inserted near the center comes out clean.