I don't think xy can do what you ask, but tikz-cd can. Though I'd probably just use the xshift solution (second tikzcd example).
The xy equivalent for xshift can be seen in section 2.4 in the xy manual (xyguide.pdf)
\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usetikzlibrary{babel} % if you are using a language that makes " an active char
\begin{document}
Standard xy:
[
\xymatrix{H_n(X;R) \ar[d]^{f_}& \times & H^m(X;R) \ar[r] & H_{n-m}(X;R) \ar[d]^{f_} \
H_n(X;R)& \times & H^m(X;R)\ar[u]{f^*} \ar[r] &H{n-m}(Y;R)}
]
Tikzcd with column space adjustment:
[
\begin{tikzcd}
H_n(X;R) \arrow[d,"f_*"] &[-3em] \times &[-3em] H^m(X;R) \arrow[r] & H_{n-m}(X;R) \arrow[d, "f_*"]
\
H_n(X;R)& \times & H^m(X;R)\arrow[u,"f^*"] \ar[r] &H_{n-m}(Y;R)\
\end{tikzcd}
]
Tikzcd using xshift instead:
[
\begin{tikzcd}
H_n(X;R) \times H^m(X;R) \arrow[d,"f_*",xshift=-2em] \arrow[r] & H_{n-m}(X;R) \arrow[d, "f_*"]
\
H_n(X;R) \times H^m(X;R)\arrow[u,"f^*",xshift=2em] \ar[r] &H_{n-m}(Y;R)\
\end{tikzcd}
]
\end{document}
xycan do that. You can withtikzcd(which I'd recommend overxynowadays, more features, nicer arrows). But it would probably just be easier to x shift the arrows instead. AFAIRxycan do this as well. – daleif Jun 29 '20 at 12:36