Does the generic subscription widget class="c7-subscribe" have any options other than requesting first/last name via the data-has-name-fields="true" attribute? Wondering if there is a way to automatically add a tag to all signups made through the widget.

Unfortunately, there is no option to add a tag to all signups as described.

Is there a way to sort products in a specific display order?

In a manual collection, you can drag and drop the order. Here is how: https://documentation.commerce7.com/what-are-collections-and-how-do-they-work#manual

I want to display all products in the collection like shows products 1 to n-1. How do specify show all products?

We recommend omitting the start and end, and it will show all of them. Keep in mind, you can't show more than 50 per page due to API limit.

Are there any alternate layouts available for product pages?

If you made your own site, we would recommend making a new page in WP, and use your pagebuilder to construct the exact layout you're looking for.

Use placeholders for the various elements. Then, view the page on the front end and copy the source code for the content of that layout, and paste it into C7 as a product template. Lastly, you can replace your placeholders with the dynamic tags C7 offers.

Details here: https://design-docs.commerce7.com/docs/product-templates