Typically, you would use something like Exuberant Ctags to generate a taglist file, which you then tell vim about using "set tags" (this process can, of course, be automated using an autocmd). Have a look through ":help tags" for all the amusing ways you can search and jump to tags in vim. Also, consider installing the taglist plugin for vim, which will get you a nice list of all the tags in a buffer.
Yep, that's certainly true. One nice thing about tags, though, is that they can span an entire project (whatever files you specified for inclusion in the tags file). So you can move the cursor over a function invocation, hit "ctrl-]", and jump to the definition of that function, in whichever file it lives. Hit "ctrl-T", and you're back where you started. You can search on tags directly as well, making it easier to grok large, unfamiliar bits of code (the taglist plugin really shines here).
Unfortunately, Exuberant Ctags doesn't grok CSS by default. The necessary modification is quite simple, and you can find it here: http://scie.nti.st/2006/12/22/how-to-add-css-support-to-ctag....