You should create a .deb package and you could also upload your application to a PPA. Use one of the packaging guides to help you - the QT one should be particularly useful. Also, see this tutorial on Ubuntu Forums.
It would be a good idea to create a Launchpad account so that you can create a PPA and also a project page where you can upload your .deb file and source code archive. If you use bzr for version control (which I recommend), you can use Launchpad to manage your code. Launchpad has many other features such as bug management. See: How to start a new project and host it at launchpad.net?.
As for your specific points:
Don't. It is bad practice for applications to automatically create icons on the user's desktop. You should, however, create a menu entry for your application so that users can run it from the Applications menu and optionally create a desktop shortcut for it. To do this, you need to write a .desktop file and in your debian/rules file under the binary-indep section, copy it to /usr/share/applications (in debian/tmp).
- automatically requesting for administrator privileges to execute
I hope you mean for the setup file - a chat app has no reason to run as administrator. The .deb file will do this for you - it will open in Ubuntu Software Centre, which will require a password.
- inserting an entry into the startup menu
I don't know what this means. What is the startup menu? If you mean the Applications menu, see 'setting desktop icons'.
- automatically compress my application and reduce download size
This is done automatically when you create the .deb package - .deb packages are compressed.
- automatic startup for my application without user intervention
I don't know if this is possible but you shouldn't do it anyway. It should be up to the user which applications they want to autostart. This is set through the Startup Applications preferences window.
Once you have managed to create a .deb package and uploaded to a PPA, you should consider trying to get your application into the official Ubuntu repositories. Be prepared for a steep learning curve - debian packaging is hard to understand at first, but if you persevere, you will get it eventually.