- To create a common legend, add all legend entries (using
\addlegendimage) in one of the \nextgroupplots. To place it at an arbitrary position (e.g., centered horizontally or verticallr, which is IMHO the best option for a common legend), use legend to name and then create a node with a reference.
- To remove the ·10-3 mark, you can add
xtick scale label code/.code={} option to the \nextgroupplot definition.
Please find attached an example:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\usepgfplotslibrary{groupplots}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[group style={
group name=my plots,
group size=1 by 2,
xlabels at=edge bottom,
xticklabels at=edge bottom,
vertical sep=0pt
}, enlarge x limits=false, height=3cm, width=.8\textwidth, grid=major,
scaled x ticks=base 10:3, legend cell align=left]
\nextgroupplot[xtick scale label code/.code={}, legend to name=fig:my plots:grouplegend]
\addplot[domain=0:0.05,samples=200] {1.2*sin(2*pi*50*\x r)};
\addplot[red,domain=0:0.05,samples=200] {0.8*sin(2*pi*50*(\x r-0.25))};
\addlegendimage{green, line legend}
\legend{U [V],I [A],S [VA]}
\nextgroupplot[xlabel={t [s]}]
\addplot[green,domain=0:0.05,samples=200]
{0.8*1.2*sin(2*pi*50*\x r)*sin(2*pi*50*(\x r-0.25))};
\end{groupplot}
\node [right] at ($(my plots c1r1.east)!.5!(my plots c1r2.east)$)
{\ref{fig:my plots:grouplegend}};
\end{tikzpicture}
\end{document}

If I may suggest something, it may be more readable if you scale the x ticks but inform the reader about it by prefixing the unit. You can do it by adding scaled x ticks=manual:{}{\pgfmathparse{#1*1000}}. In that case, no buggy ·10-3 marks appear:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\usepgfplotslibrary{groupplots}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[group style={
group name=my plots 2,
group size=1 by 2,
xlabels at=edge bottom,
xticklabels at=edge bottom,
vertical sep=0pt
}, enlarge x limits=false, height=3cm, width=.8\textwidth, grid=major,
scaled x ticks=manual:{}{\pgfmathparse{#1*1000}}, legend cell align=left]
\nextgroupplot[legend to name=fig:my plots 2:grouplegend]
\addplot[domain=0:0.05,samples=200] {1.2*sin(2*pi*50*\x r)};
\addplot[red,domain=0:0.05,samples=200] {0.8*sin(2*pi*50*(\x r-0.25))};
\addlegendimage{green, line legend}
\legend{U [V],I [A],S [VA]}
\nextgroupplot[xlabel={t [ms]}]
\addplot[green,domain=0:0.05,samples=200]
{0.8*1.2*sin(2*pi*50*\x r)*sin(2*pi*50*(\x r-0.25))};
\end{groupplot}
\node [right] at ($(my plots 2 c1r1.east)!.5!(my plots 2 c1r2.east)$)
{\ref{fig:my plots 2:grouplegend}};
\end{tikzpicture}
\end{document}

10^(-3)is indeed a bug in thegroupplotslibrary. As a workaround, addscaled x ticks=falseto the first\nextgroupplotoptions. – Jake Mar 05 '13 at 16:20