It's a bit old school
As lcd047 pointed out, there is the vim_dev Google Group where you can submit patches. At present, Vim is under version control in a Mercurial repository. You can submit patches by opening a new topic in that group and attaching your patch file (a text file with the diff output). The Vim source is in the process of moving to GitHub, but I don't think it's quite there yet.
The nature of contributing
While many open-source projects, including Vim, have a to-do list, it's not likely that you will be assigned anything just by volunteering your services. Most open-source contributions are impromptu: you identify a bug fix or improvement, implement it, and submit it for review, then the maintainer can choose to merge it in.
I have a very simple contribution in the Vim source. I noticed that the i(
text object didn't behave nicely when the contents of the parentheses were on their own lines. In contrast, the analogous i{
text object behaved appropriately in similar situations. I submitted my patch and it was actually merged in swiftly. Of course, this was a very small change; more significant patches tend to be subject to longer review.
My advice
Don't enter into the game with the plan to contribute to Vim. Good ideas don't normally come from trying to think of good ideas. They come when you're trying to do something else. Keep using Vim and an idea may present itself. Then put in the effort to implement it and submit a patch.