There is a way to automatically measure the space between the beginning of the \item
and the first line of the {align*}
with the pdftex primitive \pdfsavepos
. The savepos
option of the zref package allows a rather nice interface for this feature.
The code works like this: you place a \mi
macro where you want the material to be and you place a \md
(you can change these names if you don't like them) where the material is. For example,
\item \mi\begin{align*}\md
x^2 + y^2 &= x^2 + (iy)^2 \\
&= (x + iy) (x - iy)
\end{align*}
After a few compilation (up to 4 may be needed), you will obtain perfect alignment of the equation and the item number.
Here's the full code, showing how the alignment works with a few equations and a table. I've also put a variant in which I redefined {align*}
so that \mi
and \md
are not necessary anymore (making it easier to type).

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage[savepos]{zref}
\makeatletter
\newcounter{autoenumvspace}
\setcounter{autoenumvspace}{0}
\newcommand{\mi}{\markitemstart}
\newcommand{\markitemstart}{%
\addtocounter{autoenumvspace}{1}%
\@ifundefined{autoenumvspacevalue\romannumeral\value{autoenumvspace}}%
{\edef\autoenumvspace@value{0pt}}%
{\edef\autoenumvspace@value{\csname autoenumvspacevalue\romannumeral\value{autoenumvspace}\endcsname}%
}
\ifnum\zposy{auto@enum@\number\value{autoenumvspace}@bottom}=%
\zposy{auto@enum@\number\value{autoenumvspace}@top}
\@ifundefined{autoenumvspacevalue\romannumeral\value{autoenumvspace}}%
{}%
{\immediate\write\@mainaux{\gdef\expandafter\noexpand\csname autoenumvspacevalue\romannumeral\value{autoenumvspace}\endcsname{\csname autoenumvspacevalue\romannumeral\value{autoenumvspace}\endcsname}}}%
\else
\ifdim\dimexpr\zposy{auto@enum@\number\value{autoenumvspace}@bottom}sp-\zposy{auto@enum@\number\value{autoenumvspace}@top}sp\relax=\autoenumvspace@value
\immediate\write\@mainaux{\gdef\expandafter\noexpand\csname autoenumvspacevalue\romannumeral\value{autoenumvspace}\endcsname{\the\dimexpr\zposy{auto@enum@\number\value{autoenumvspace}@bottom}sp-\zposy{auto@enum@\number\value{autoenumvspace}@top}sp\relax}}%
\else
\edef\autoenumvspace@value{0pt}%
\immediate\write\@mainaux{\gdef\expandafter\noexpand\csname autoenumvspacevalue\romannumeral\value{autoenumvspace}\endcsname{\the\dimexpr\zposy{auto@enum@\number\value{autoenumvspace}@bottom}sp-\zposy{auto@enum@\number\value{autoenumvspace}@top}sp\relax}}%
\fi
\fi
\vspace*{-\autoenumvspace@value}%
\leavevmode
\zsavepos{auto@enum@\number\value{autoenumvspace}@top}%
\vspace*{\autoenumvspace@value}%
}
\newcommand{\md}{\markdisplaystart}
\newcommand{\markdisplaystart}{%
\zsavepos{auto@enum@\number\value{autoenumvspace}@bottom}%
}
\makeatother
\begin{document}
\section{Manual version}
\begin{enumerate}\belowdisplayskip=0pt \abovedisplayskip=0pt % optional
\item \mi\begin{align*}\md
x^2 + y^2 &= x^2 + (iy)^2 \\
&= (x + iy) (x - iy)
\end{align*}
\item \mi\begin{align*}\md
\frac{1}{n^2-4} &= \frac14 \frac{4}{(n-2)(n+2)} \\
&= \frac14 \left( \frac{1}{n-2}-\frac{1}{n+2} \right)
\end{align*}
\begin{enumerate}
\item \mi\[\md x^n + y^n = z^n\]
\item \mi\[\md \sum_{n=1}^{+\infty}{\frac{1}{n^2}} = \frac{\pi^2}{6}\]
\item \mi
\begin{center}\begin{tabular}{|c|c|c|}
\hline
\md text & text & text \\
\hline
text & text & text \\
\hline
\end{tabular}\end{center}
\end{enumerate}
\end{enumerate}
\section{Automatic version}
\begin{enumerate}\belowdisplayskip=0pt \abovedisplayskip=0pt % optional
\makeatletter
\renewenvironment{align*}{%
\mi\start@align\@ne\st@rredtrue\m@ne\md
}{%
\math@cr \black@\totwidth@
\egroup
\ifingather@
\restorealignstate@
\egroup
\nonumber
\ifnum0=`{\fi\iffalse}\fi
\else
$$%
\fi
\ignorespacesafterend
}
\expandafter\def\expandafter\[\expandafter{\expandafter\mi\[\md}
\makeatother
\item \begin{align*}
x^2 + y^2 &= x^2 + (iy)^2 \\
&= (x + iy) (x - iy)
\end{align*}
\item \begin{align*}
\frac{1}{n^2-4} &= \frac14 \frac{4}{(n-2)(n+2)} \\
&= \frac14 \left( \frac{1}{n-2}-\frac{1}{n+2} \right)
\end{align*}
\begin{enumerate}
\item \[ x^n + y^n = z^n\]
\item \[ \sum_{n=1}^{+\infty}{\frac{1}{n^2}} = \frac{\pi^2}{6}\]
\item \mi
\begin{center}\begin{tabular}{|c|c|c|}
\hline
\md text & text & text \\
\hline
text & text & text \\
\hline
\end{tabular}\end{center}
\end{enumerate}
\end{enumerate}
\end{document}
x^2 - (iy)^2
in the first line; I corrected that in my answer.)