If you are willing to use tikz-cd instead of xy, you could just rotate the label like you would do for any TikZ-node.
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{mathtools} % for the \text{} command
\begin{document}
\[
\begin{tikzcd}
x \ar{d}[%
,rotate=+90 % counter clockwise rotation
,below % attach label to the right of the arrow
,yshift=-0.3ex % optional for movement to the right.
]{\text{looooooong}}\\
y
\end{tikzcd}
\]
\end{document}

Update
In comment you asked for an automatic solution for rotated labels. Done in tikz-cd, this could look like this:
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\tikzset{mystyle/.style={sloped, anchor=south}}
\usepackage{mathtools} % for the \text{} command
\begin{document}
\[
\begin{tikzcd}[every label/.append style={mystyle}]
\bullet & \bullet & \bullet\\
\bullet & x \ar{ul}{xy} \ar{u}{xy} \ar{ur}{xy} \ar{l}{xy} \ar{r}{xy} \ar{dl}{xy} \ar{d}{\text{looooooong}} \ar{dr}{xy} & \bullet\\
\bullet & y & \bullet
\end{tikzcd}
\]
\end{document}

In my opinion, each label should be readable from the right or from below. So instead of using every label/.append style={mystyle} for the whole image, I would write \ar{ul}[mystyle]{xy} for any arrow and use my first solution for the down-arrow-case.