Can launchd be made to set a different owner on files it creates while executing a .plist job?
I have a few suggestions. According to to the manual, you can set the UserName key- https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html. You could use periodic with a shell script to run slocate and change the permissions of the database. Setup a user crontab. A user crontab will only run at the specified time.