The two most common powerful editors for Unix, emacs and vim, both include the ability to reference a list of PHP function names so that you can jump to their definition while editing. You'll have to build the file yourself first, though, using ctags. The best implementation I know of is Exuberant Ctags by Darren Hiebert, which is available in most Linux distributions (although it's generally not the version installed by default). Normally this is called just by running ctags -R, but by default ctags assumes that all PHP code is in files with names ending in .php. For Drupal, I suggest the following command, to be run from the base directory of your Drupal installation:
ctags --langmap=php:.engine.inc.module.theme.install.php --php-kinds=cdfi --languages=php --recurse
This simply runs ctags recursively from the current directory, parsing .engine, .inc, .module, .theme, .install, and .php files as PHP. This will leave a file called tags in the current directory; you can then configure your editor to look for it there. The --php-kinds option tells ctags to only list classes, constant definitions, functions, and interfaces (by default it would also list all variables). The --languages option tells ctags not to index anything other than PHP (for example, Javascript files would be ignored).
ctags and both editors I mentioned are also available for Windows and Mac OS, if you're so inclined.