From my guess, whenever you add a channel in the bot through partyline, it will be shown up in the bots .CHAN file.
You can define static channels in the .CONF file itself and dynamic channels you can define in the .CHAN file or add them in the bot and modify settings through partyline with the bot.
The bot will always create a .CHAN file to read channel settings from. To prevent creation of dynamic channels, just add all channels as static... simple as that. (If I am correct!) But still a .CHAN file to store the records in.
By invisible what do you mean? invisible to another channel? If you mean the channel mode +i, or do you mean invisible as in +p (private), +s (secret), because channels with these modes are not shown up when you /whois a user on these channels.
You can
set chanmode +tni in the static channel settings, or something like this you want.
For the problem with setting the channel key (+k), take a look at this:
http://www.egghelp.org/faq.htm#034