When calling a microflow from a page, the optional input parameters are depending of the page context
Single dataview: Single parameter, single object, type of dataview context
Nested dataview: max 2 parameters, single object, type of dataview & nested dataview context
Nested data/template grid: max 2 parameters, single object, type of dataview context + single object, type of data/template grid context OR List, type of data/template grid context (define on button if selection or whole list is passed)
Yes you can pass as many parameters as you want to a microflow. When you are calling that microflow with the microflow activity, just make sure to set values for each parameter. If there is a case that you dont want to use all the parameters, you can pass "empty" to the parameters you dont want to use.
Here is the documentation on parameters