Hi,
I have recently done a website which had similar requirements. Without wasting your time let me comments on your requirements
-------------------
"Each product page will show the product price, discounted price, a big button with an external link (each product has its own external link), item picture, and a short description. Also template should show some related products (from the same category)"
Have a look at www.FuellAuto.com. The client in this case, wanted to show the price, but no 'buy button' he also wanted to have custom field like year of manufacture, and other field of location.
We could do similar to your website, we could have custom field called 'externalLink' and use to as button on website to take user to that link on click.
Related products are default behaviour of woocommerce :)
---------------
"I also want to be able to import products in bulk from a database or csv file."
We could easily do this with a plugin, and i will make sure all is done to your satisfaction.
--------------
Finally some of my self marketing :)
Kindly have a look into my profile, check out my completion rate(100%), and what other clients say about me in reviews. If it interests you, let's discuss more of the project.
Looking forward to hearing from you soon.
Thanks and Cheers.