This requires to adjust most of the SQL-queries.... Sick.

Do a search on "RIGHT_VIEWALL" over the project... 40 occurences...

I am uncertain. I mean... An admin should see anything. Otherwise you may not find or fix certain stuff. Why not add an profile option "RIGHT_VIEWOPEN". This would work like this:
  • if RIGHT_VIEWALL pub_level is not been checked
  • if RIGHT_VIEWOPEN pub_level of item will be compared with user's original item-access rights from his profile. So you could distinguish a "Developer" (seeing all open items of projects) from a "Manager" (seeing all items with level internal of all projects)