Update:
I may have misunderstood the question, because labels can be written naturally like this:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def\n{10}
\pgfmathparse{int(\n-1)}
\foreach \x in {0,...,\pgfmathresult} {
\foreach \y in {0,...,\pgfmathresult} {
\node at (\x,\y) (\x) {c0\y\x};
}
}
\end{tikzpicture}
\end{document}
Old answer:
You can use the macro \opprint
from the xlop
package that prints the numbers as they are written useless zeros included.
For example 00000.000
will be written 00000.000
\documentclass{article}
\usepackage{tikz}
\usepackage{xlop}
\begin{document}
\begin{tikzpicture}
\def\n{10}
\pgfmathparse{int(\n-1)}
\foreach \x in {0,...,\pgfmathresult} {
\foreach \y in {0,...,\pgfmathresult} {
\node at (\x,\y) (\x) {c\opprint{0\y\x}};
}
}
\end{tikzpicture}
\end{document}

\node at (\x,\y) (\x) {c0\nodelabel};
?