Place beans in a Dutch oven; add water 2 inches above beans, and soak 8 hours. Drain.
Bring beans, 4 cups water, and ham hocks to a boil in a Dutch oven; cover, reduce heat, and simmer 1 hour or until beans are tender. Drain. Remove beans; set beans aside. Remove ham hocks, and let cool; chop meat, discarding skin and bones.
Sauté onion and 2 cups ham in hot oil in Dutch oven 5 minutes or until onion is tender. Add beans, reserved meat from ham hocks, ketchup, next 4 ingredients, and, if desired, bourbon to Dutch oven.
Bake, covered, at 350° for 1 hour.