Use additional boolean instead of the Inactive mimetypes.
Avoids a lot of problems with special handling of that mimetype.
But will result in warnings for every node when you update your plugin (because of the missing additional bool setting for each port that is now saved to settings.xml during saving).
Have a checkbox for every output for activation. If unchecked, rest is greyed.
For Listoutput have a ComboBox to select the corresponding input list. Default is corresponding number of input list, else first, else fail. Have a textbox for a user suffix (default is "${portname}${filenumber}"). Allow these variables there.
For Prefixoutput add a textbox for a user specific prefix/basename. Default is the name of the first.
For Single outputs add a textbox for a user specific basename. Default is the name of the first single-input.
Possible future improvements:
Add a possibility to set the parameter correspondence in the CTD and read it (remove combobox then).
Let the suffixes textboxes be set with flowvariables (e.g. to add a loop iteration).
Use additional boolean instead of the Inactive mimetypes. Avoids a lot of problems with special handling of that mimetype. But will result in warnings for every node when you update your plugin (because of the missing additional bool setting for each port that is now saved to settings.xml during saving).