How to disallow selected roles to edit node titles?
You could use the Title module

This converts the Title to fields API and should work with permissions as well. Basically it replaces the node title with a field