I have two forms, one basic form with 4-5 fields, another one is for preference center to give audience a choice to select their preference.
The plan is to bring the preference fields in basic form with the help of visibility rules, for example, we will create the list of products and present them as drop down. If any user selects a product then a filed will appear for subscription. When anyone subscribe for it then the field in Marketo and CRM will get updated.
Is there a better way to achieve the same
In this specific case, I believe the best approach would be to clone the preference center form (Which already has visibility rules defined in it) and add any additional fields that are required in the cloned form and use that. Details on how to Join Two Form Fields into one is given in this article, but I dont think merging 2 forms itself is possible in Marketo. The above approach of cloning could be helpful.
There isn't enough background to get a definitive answer, Abhishek.
While it's advisable to have as few forms as possible (hopefully < 5), you don't want to combine drastically different goals into one form and have to always worry about whether your VRs are taking care of differentiating the look-and-feel.
So yes, Visibility Rules (including those triggered on a hidden field, which in turn can be filled from the URL) can be used to completely transform the exposed fields on a form, or even the CSS styles on a form, in crazy ways.
But it's impossible to say whether you should be using different forms in your case, because you haven't explained what your "basic 4-5 fields" are. Typicallym a Preference Center form doesn't do double duty for any other purpose; when there's lots of extra logic on such a form (Select/Unselect All checkboxes, GDPR compliance, etc) you'll just end up miserable if you try to make it do something completely outside of preferences.