The questions you have asked require a very in-depth answer. I am going to try nevertheless.
First of all, check the reputation of the SEO company in question. You can do this by asking for examples of past work. You can also talk to past clients of the SEO company to judge the quality of work they do.
Once you have decided the SEO company you are using, the SEO package you are going for, you can discuss what you want to achieve through search engine optimization. This makes your goals very clear to the company, and it can work accordingly for your search engine optimization.
As for the progress the SEO company is achieving, any professional SEO company will provide you with weekly and monthly reports of SEO activity, through which you can track the progress of your website. White Hat, ethical SEO takes time to take effect, so I cannot pinpoint how much time your SEO company will take to show results. But rest assured that the results will be long lasting.
Hope this helps.
Mark
http://web-marketing.analytixsolutions.com/search-engine-optimization-marketing.asp