The invisible portlet is actually a pretty tricky thing to implement. I've had a number of customers ask, and have done a few hacks to make it happen. I'm not sure, but I think WebSphere Portal 6 has an invisible feature, but not earlier versions. I haven't seen it, and it may have been a dream, but I thought I saw something about it somewhere.
Anyways, here was one trick I used. It was actually for a portlet that should be invisible unless there was an 'alert'. What we did was we had the portlet output nothing in the view mode unless there was an alert. Then, we applied an invisible skin, where no icons or outlines were used. As a result, the portlet was only visible when there was an alert - other times, the user didn't even know it was there.
It's not exactly what you are asking, but maybe it'll give you some ideas.
You might want to rethink your layout though. That's probably better.
If logging in triggers the other portlets to appear, maybe
you should just make it security based. The one portlet has anonymous access, and the others do not have anonymous access. Once a user logs in, the portlets that are on the page, but do not have anonymous access, magically become visible.
Just some ideas for you.
-Cameron McKenzie