Part 1.
I think understanding more than just the brochure of the product really helps for sales, but that doesn't necessarily mean they need to have previously learned programming.
Part 2.
As for your second question I'm a little unsure what you mean, surely it's an almost trivial principle that any programmer should understand. "You build it, they sell it".
Also, the main sales guy at my company does understand how to improve our website and has a bit of basic HTML, CSS, and a bit of PHP coding ability. But that doesn't really have anything to do with the product.
I think as long as everyone, sales, engineers, CEO etc all know what the product does/is on a fundamental level and can explain like I'm 5 then it doesn't really matter if they know the ins and outs of it.