Maybe you could check out the installer for OUnit. This uses 'command-line parameters' in the script.
Also, the utPL/SQL codebase uses variable substitution to enable of disable certain parts of the code. For instance 9i code when deploying on an 8i database is disabled.
Regards,
Patrick