Place ham hocks into a large pot and cover with water; bring to a boil. Boil until meat pulls back on bone, about 2 hours. Remove meat from bones, cut into bite-sized chunks. Reserve the bones but discard any fat.
Chop 1/2 of the white onion, and leave other 1/2 whole; set aside.
Place bacon in a large skillet and cook over medium-high heat, turning occasionally, until evenly browned, about 10 minutes. Drain bacon slices on paper towels, and chop when cool enough to handle. Pour bacon grease into a small bowl.
Heat a large skillet over medium-high heat. Cook and stir chorizo in the hot skillet until browned and crumbly, 5 to 7 minutes. Place chorizo into a bowl with chopped bacon, tomatoes, chopped onion, and jalapenos.
Place ham chunks and bones into a large pot, pour pinto beans over top. Add water to cover and bring to a boil over medium or medium-high heat.
Meanwhile, heat bacon grease in a large skillet over medium heat. Add chorizo and vegetable mixture and saute until vegetables are soft, 5 to 7 minutes.
When beans boil, add the remaining onion half and garlic. Let boil for 3 to 4 minutes; add sauteed vegetables and meat. Return to a boil; add cilantro and chicken bouillon. Continue to boil for 15 to 20 minutes. Remove bones, season with salt, and serve.