You suggested the answer yourself: A TikZ matrix will do just that (which is pretty awesome!):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of nodes]{
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\% <- Without this %, there would be a trailing "1" in the copied text
};
\end{tikzpicture}
\end{document}
gives

and copying and pasting from the PDF gives
1 2 3
4 5 6
7 8 9
Or, to draw the grid itself, along with the data (as described at TikZ matrix as a replacement for tabular, for example):

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix [matrix of nodes, style={nodes={rectangle,draw,minimum width=3em}}, minimum height=1.5em, row sep=-\pgflinewidth, column sep=-\pgflinewidth]
{
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\% <- Without this %, there would be a trailing "1" in the copied text
};
\end{tikzpicture}
\end{document}