I am building a new Shopify public app that displays a custom input in the product listing page (at the customer side).
So to enable this, the Shopify Admin should be able to choose specific products to enable this input. And I see two ways to implement this.
So is it possible to do #1? Also, which option is the better way of doing things here? Any links to documentation would be helpful.
You can't modify the admin panel in any form using an App.
The only thing you can do on these pages is to add a link inside the "More actions" to your app page.
You can use extensions/bookmarklets/userscripts to create some custom logic to modify the admin page and communicate in some overly complicated way with your app but it will require more steps for the customer to work with your app which is not a very friendly way and you may not pass the review process for public apps.
TL;DR you must handle everything from your app screens and you can't modify the admin front-end in any form to add additional stuffs or modify existing ones.