[Android Q&A, Help & Troubleshooting] SifJar:
I wonder if it would be possible to create an app to do this automatically whenever a certain app is loaded (e.g. when the email app is launched, a background process automatically renames su, and then when it's closed, the background process kicks in again to rename it back to su).

Actually, now that I think about it, Tasker might be able to do that...I'll look into it...

EDIT: Yup, managed it with Tasker. Install Tasker if you haven't already (there's a week trial available here: http://tasker.dinglisch.net/), and load up the app.

In the "Profiles" tab, hit the + button at the bottom to add a new profile and give it a descriptive title (e.g. "hide root"). It'll then ask you to select a context, select "Application", and then choose the app you want to hide root from and click the tick. It'll then ask you to choose a "Task". Select "New task". Give it a name (e.g. "hide root") then click the "+" in the window that appears. Choose "Misc", and then "Run shell". The first command to run is something like this:

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

This will remount /system as RW (i.e. allow you to write files on the system partition). The command may vary slightly for your phone, the parts that are likely to change are "mtdblock3" and possibly "yaffs2". The correct parameters can be found by running the command "mount" in either terminal emulator on the phone or over an adb shell, and look for the /system entry. You should probably make sure you get the right command here, it's probably a bad idea to mess with remounting without the right command.

Enter that command and tick the "use root" box, then press the tick at the bottom.

Do the same again, only this time the command is:

mv /system/bin/su /system/bin/mu

(again, tick "use root").

Now click the tick at the bottom of the "Task Edit" window. You should now be back at the profiles list, with the name of the app you want to hide root from on the left and the task you just made on the right with a green arrow. Press and hold down on the task and you'll be given the option to "Add Exit Task". Select this. Choose "New Task" and call it something like "show root". As before, add an action to the task, go to "Misc" and then "Run shell". This time, the command is:

mu -c 'mv /system/bin/mu /system/bin/su'

Don't tick "use root" this time. Click all the ticks to get back to the profile list. You should now see your profile with the app name on the left and two tasks on the right, one with a green triangle, one with a red. Make sure the box at the top right of the profile is showing a green tick (if it's a red circle with a line through it, tap it once), then tap the green tick at the bottom left of tasker. the su binary will now be automatically renamed when you launch that app, and renamed back when you leave it. (you can add more than one app, and you can add more apps later). I tested this with terminal emulator, typing "su" gave "command not found". I then left terminal emulator and loaded Titanium Backup, which worked perfectly, indicating su had been restored correctly. (I think if you use a task switcher and leave the app running in the background, you may have issues). The first time you exit the app, you will get a superuser (or SuperSU, if you use that) prompt for permission. After that you won't.

If you need to disable the root hiding, just tap the green tick beside the profile name in tasker, it'll turn into a red circle with a line through it and it will no longer be active.