In the case of firefox, isn't that actually started from a script? In such a case you should just be able to add to the script something like:
For a mixed Debian system, for example, one suggestion is to have an /etc/pango32 and /etc/pango64 directory with an appropriate pangorc and modules files. (See: http://www.debian-administration.org/articles/534
Unfortunately, any update will wipe out your edit to the startup script.
Still, writing aliases as you have but using the PANGO_RC_FILE environment variable would be more convenient than playing with those symlinks - for one, you're not forever altering those inodes on disk.
As for clicking icons - well, you have to take time setting up the command executed by those icons. As you can imagine, this can be really bad news if the installer put menu items and icons all over the place and you have numerous users. An alternative is to rename affected programs and replace the actual programs with a small script. Once again, any software update will screw things up. It's just one of those hassles you have to live with when using a mixed system.