It depends on a few things: How old your site is - If your site is new it will do what is called the "google dance" meaning your site will move from page to page. Just keep adding content to your site (quality content) over time your site will settle into a position. The keyword or keywords that you are trying to rank for - to rank well in the search engine I suggest that you target "long Tail kewords" (3 words or more) You have a better chance of ranking in the search engines. Like I said just keep adding quality content to your site. In time your site will start ranking in the search engines. hope this helps.
To optimize your website it won't take much time, to rank in Search engines for particular keywords, that might take some time. What are you looking for?? just optimizing or ranking your website in top pages of Google?
Yes i completely agree with @kb24 in-addition your site is indexed by search engines. so you need to work accordingly. automatically your site will improve , we cant say the actual timing
Optimization is just an initial but very important step. improvement depends on how to further promote it. Start promoting your website via, PRs, community participation, article, blogging, etc.
This is an unanswerable question. It can take hours or it can take weeks. This depends on so many different factors like how old your website is, what keywords you are looking at, what you consider enough improvement (top 3, top page, indexed). If you have a new website optimised your website and it is already indexed then improvement should be visible in a few days but most likely it would be a huge improvement. This takes time and effort.
Was it a existing site? If you optimize an existing website it generally takes 2 or 3 months for the pages to completely settle into their righteous positions. So after 3 months the pages will be where they belong.
Its deepened on the competition of your keywords. Choose the low competition keywords so that you can rank quickly.