Hello Sekhar,
I'm a Sri Lankan living abroad. Just randomly saw your post.
Here is my honest opinion about finding jobs. Most of the companies hiring locals because not all the companies can help to secure work visa. And high unemployment rate make it easier to find a person for a lower salary. If its so good, why should I left country. Also, only BOI listed companies can do that because they are either foreign investments or joint investments with foreign companies. If you are trying to land a job in Sri Lanka, chances are rather slim. Most of the foreign workers working in hotel industry which is in nose dive these days.
Some foreigners have invested their own money on hotels and living there. This might be an option. But, be careful before jumping to conclusions.