With the \DeclarePairedDelimiterand \MTkillspecial from mathtools, you can. The \ abs command defined in this code adds a pair of implicit \left \right in front of the delimiters if you use the starred version. Alternatively, you can fine-tune the size pf the vertical rules with the optional argument: \abs[\big], \abs[\Big], &c.:
\documentclass{article}
\usepackage{mathtools, xparse}
\usepackage{xcolor}
\newcommand\MTkillspecial[1]{% helper macro
\bgroup
\catcode`\&=9
\let\\\relax%
\scantokens{#1}%
\egroup
}
\DeclarePairedDelimiter\abs\lvert\rvert
\reDeclarePairedDelimiterInnerWrapper\abs{star}{
\mathopen{#1\vphantom{\MTkillspecial{#2}}\kern-\nulldelimiterspace\right.}
#2
\mathclose{\left.\kern-\nulldelimiterspace\vphantom{\MTkillspecial{#2}}#3}}
\begin{document}
\begin{align*}
& \color{red}\abs*{\color{black}x y} \\
\abs*{ & \color{red}x\color{black} y} \\
\abs*{ & \color{red}x \\ &\color{red}y\color{black} }
\end{align*}
\end{document}
