Hi,
Yes, you can add custom layouts to this list.
Edit "show_default" view file via the menu Display>Views, change the name "default" at the top and save and you'll the new layout with your file name based on the default one.
If the product is in two categories and that you have different layouts selected in the category and no layout selected in the product, it's the layout of the first category of the product which will be used.
Now having different layouts for a product based of where from you're accessing the product page is possible with some small custom code provided that the information from where you come is known (for example, by turning off the "simplified breadcrumbs" setting and having the "category_pathway" parameter in the URLs.