You can try the scalefnt package and scale it to what you need.
\documentclass[11pt]{article} % use larger type; default would be 10pt
\usepackage{amsmath,scalefnt}
\begin{document}
\scalefont{0.9}{
\begin{gather*}
A = \left[\,\begin{matrix} a & b & c \\ d & e & f \\ g & h & i \end{matrix}\,\right]
\ \\
A = \left[\,\begin{matrix} a & b & c \\ d & e & f \\ g & h & i \end{matrix}\,\right]
\end{gather*}}
\end{document}
Edit:
You can adjust the spacing between the matrix elements by using the math kern \mkern, as per the following example:
\[
A = \scalefont{0.75}{\left[\,\begin{matrix} a&\mkern-15mub&\mkern-15muc\\d&\mkern-15mue&\mkern-15muf\\\end{matrix}\,\right]}
\]