Soak beans overnight in 9 cups of cold water. Stir and remove any beans that float to the top. Pour into a colander and rinse well with cold water. Drain. Place beans back into rinsed pot.
Add the 9 cups of hot water and rest of ingredients except for the butter. Turn heat to medium-high and bring to a simmer. Place lid on pot and turn heat down to low, and gently simmer for 2 - 2 1/4 hours. Stir gently only occasionally and remove the large hambone once meat falls off, then break up meat into smaller bite-sized pieces.
After 2 - 2 hours and 15 minutes and beans are tender, remove the ham hock and trim meat off and add to the pot. Stir gently so you don't break up the beans. Breaking up a little bit of the beans is fine because it helps thicken the soup. Remove from heat and stir in butter.
Ladle into bowls and serve with hot buttered cornbread