Question: My problem is every time after changing the Liferay `portal-properties` (and this is frequent especially at beginning of a new portal project) I need to restart the whole portal.

Some properties I can set over hook and these values will be changed after redeployment. Also that must be possible to change most portal properties at run time. 

However, do you know some approach to reflect changes in `portal-ext.properties` without restarting Liferay portal?

Answer: 
As [stoldark](https://stackoverflow.com/a/11931915/468763) mentioned, this is not possible in a production environment at all. Since `portal.properties`'s properties are loaded at portal start-up.

But for development you can use a tool like [JRebel](http://www.zeroturnaround.com/software/jrebel/), some steps to configure it [here](http://www.liferayaddict.com/home/-/blogs/liferay-ext-with-jrebel). The only issue you would get with this tool is that it is paid **;-)**.
If you create a hook to override portal properties, you will be able to change properties with just deploying the hook without restarting the Portal. 

Be aware that you cannot modify all properties with a hook. For a list of the ones that you can modify, check out: <https://docs.liferay.com/portal/6.2/definitions/>.