They easy way is probably just to give the uninstaller a unique name for each content package and if required, keep a count of installed packages under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls so you know when to uninstall the engine/plugin.
The number of NSIS sections is set at compile-time and you can not add more so if the maximum number of packages is unknown you cannot just make some of the sections unchecked & hidden. The way around this is to store a list of the installed packages somewhere in the registry and create a custom page (nsDialogs) in the uninstaller where you list the installed packages...