Quick soak the beans by rinsing in a colander and transferring to a large saucepan. Cover the beans with about 2 inches of water and bring to a boil. Once boiling, allow the beans to cook for 2 minutes. Cover the saucepan with a lid, remove from heat, and allow the beans to sit and soak for 1 hour.
Drain the beans back into the colander, rinse, then pour into the slow cooker. (Instead of the quick soak method, you can soak the beans overnight and then rinse.)
Add the the slow cooker the chicken broth, water, chopped onion, garlic, chili powder, and chopped ham. Stir together, then add ham bone. Cover and cook on low for 6-8 hours. During the last 30 minutes, remove the ham bone and allow it to cool slightly. Remove any meat from the bone and add to the slow cooker. Discard the ham bone.
Season with salt and pepper to taste.
Serve with freshly baked cornbread.