Answer:
Hey there! It's B - for ten years.
Explanation:
I'm not sure how to phrase this, but B is the most grammatically correct. Out of "He has been selling motorcycles ten years ago," "He has been selling motorcycles for ten years," "He has been selling motorcycles for ten years ago," and "He has been selling motorcycles since ten year," B is the best option, grammatically speaking.
Hope that helped!