Id like to use adsense but I worry about loosing sales by showing too many of my direct competitor's ads. Can you block or filter them? Is this in accordance with adsese tos?
Yes. That's what the Adsense URL filter is for. Just put your competitor's URL (otherguysite.com) into the filter and it'll prevent their ads from showing on all of your sites.
Filtering ads is completely legal and in accordance to adsense terms. You can block upto 200 URLs using Competitive Ad Filter.