As widely documented, babel redefines the catcode for several characters, making xypic pictures to fail. The cure is to use \shorthandoff{}, like this (the spanish option redefines "):
\shortandoff{"} \xy (stuff) \endxy \shorthandon{"}
To create a new BibTeX style, run
latex makebst.tex to proceed through a long list of questions about the style. The result is another file that will produce a .bst file after running it through LaTeX again. If you change your mind about an answer, you can edit the intermediate file, it has pretty obvious format.
Check this post for more information about .bst files.