The following attempt (a redefinition of \citenum) removes most (?) of the spacing. Sorry for not providing a real solution, but the natbib internals are nothing one wants to delve into.
\documentclass{article}
\usepackage[square,comma,sort&compress,authoryear]{natbib}
\bibpunct{[}{]}{,}{s}{}{;}
\makeatletter
\DeclareRobustCommand\citenum
{\begingroup
% \NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse\let\textsuperscript\NAT@spacechar% DELETED
\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse\let\textsuperscript\relax% NEW
\NAT@citexnum[][]}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\begin{document}
Some text \citep{A01}.
[\citenum{A01}]
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}