How can I add a new address line within moderncv style

moderncv has changed its syntax again so my old answer no longer works for a number of reasons. Anyway things are now much simpler because version 2.0.0 of moderncv now provides a command \makenewline that can be inserted in to the arguments of \address. Thus you can write

\address{street and number}{postcode city\makenewline county\makenewline country}

to place several arguments in the second part.

Sample output

\documentclass{moderncv}

\moderncvstyle{classic}

\name{John}{Doe}

\address{street and number}{postcode city\makenewline
county\makenewline country} 

\begin{document}

\makecvtitle

\end{document}

The easiest solution is to simply use multi-line arguments, i.e. \address{Street}{Town\\Country}.

Your definition doesn't work, because \address only stores the information. The actual printing is done by the \maketitle command, which is redefined in the corresponding .sty file, i.e. moderncvthemeclassic.sty.