"If your users are all on Windows, Microsoft SharedView works really well. You set up a session, choose which windows to share (you can share the entire screen or just specific applications), and then you can invite people by sending them the authentication info. Viewers can even remotely control your computer if you let them. It does require installing the sharedview application on both your computer and the clients' computers. One further advantage is that all the data is transmitted over HTTP, so you don't need to worry about forwarding ports and such.
If people aren't watching something live, Debugmode Wink is a good program for taking screencasts, customizing them, then saving to swf. Jing is also a very good tool. It doesn't offer the same customization options, but it does automatically upload your screencasts if you want it to, making them easily visible online. In this case, storage is included, which deals with your first question. It's free, but limited to 2GB (iirc) if you don't upgrade.
Can you further specify what you need to take screencasts for and how they need to be viewed/distributed?"