well, I understand your frustration about having to touch the kernel, I was confronted to the same dilemma:
my experience is that whenever it comes to seriously modifying the pricing model, (i.e. I added price ramps (Staffelpreise in german), different prices per siteaccess, usergroup and currency, missing prices, coupons and product bundles), the work overhead to circumvent hacking is greater that the maintenance issue. At the end of the day it was way more work to prevent hacking the kernel than maintaining 9 modified kernel files. So I wouldn't bother too much about having to modify these, as long as they are correctly handled in SVN, documented etc.