Yes, the Foreign Worker Program is a federal program.
There is no Canadian requirement to use an agency. However, the process requires expertise in dealing with several government agencies such as Service Canada, Immigration Canada, Canadian embassies abroad and foreign country specific governing agencies. Some countries do require that you hire a recruitment firm that is licensed by their own government in order for the workers to obtain clearances to leave for employment elsewhere.
It varies depending upon the position, how long the labour market opinion was issued for and the numbers of months on the work permit.
Immigration programs in various provinces provide opportunities for some workers to apply for permanent residency. The criteria for eligibility change frequently. A licensed immigration consultant should be consulted for information on immigrant nominee programs.
The processing time of hiring a foreign worker can be divided into 3 stages. First, you must obtain a positive LMO and this process varies depending upon your province. Second, you must recruit, interview and screen potential candidates. Third, candidates must process their applications for work permits at Canadian embassies abroad. The timing of each of these three components varies from approximately 2 weeks to 18 months. It is very difficult to predict exactly how long the process will take.