This is my attempt.
Add this to your preamble:
\usepackage{calc}
\newlength{\alength}
\newlength{\blength}
\newif\ifprinted\printedtrue
\newcommand{\myitem}[1]{%
\setlength{\alength}{\textheight-\the\pagetotal-10pt}
\setlength{\blength}{\totalheightof{\parbox{\linewidth}{#1}}}
\ifprinted
\ifodd\value{page}
\ifnum\pagetotal>0
\ifnum\alength<\blength
\clearpage
\item #1
\printedtrue
\else
\item #1
\printedtrue
\fi
\fi
\else
\printedfalse
\ifnum\alength>\blength
\item #1
\printedtrue
\fi
\fi
\fi
}
\newenvironment{myenumerate}{\begin{enumerate}\item[]}{\end{enumerate}}
The new defined command \myitem is to be used instead of \item inside the myenumerate environment in this way:
\myitem{What is the answer to life the universe and everything?}
instead of
\item What is the answer to life the universe and everything?
The new environment myenumerate is defined to avoid errors when no \myitems are printed (it contains a "phantom" item \item[])
\myitems are printed only if they are in a non-empty odd page or if there is enough space in an even page.
The following example explains it a bit better:
\documentclass[openright]{book}
\usepackage{lipsum}
\usepackage{calc}
\newlength{\alength}
\newlength{\blength}
\newif\ifprinted\printedtrue
\newcommand{\myitem}[1]{%
\setlength{\alength}{\textheight-\the\pagetotal-10pt}
\setlength{\blength}{\totalheightof{\parbox{\linewidth}{#1}}}
\ifprinted
\ifodd\value{page}
\ifnum\pagetotal>0
\ifnum\alength<\blength
\clearpage
\item #1
\printedtrue
\else
\item #1
\printedtrue
\fi
\fi
\else
\printedfalse
\ifnum\alength>\blength
\item #1
\printedtrue
\fi
\fi
\fi
}
\newenvironment{myenumerate}{\begin{enumerate}\item[]}{\end{enumerate}}
\begin{document}
\chapter{Introduction}
\lipsum[1-6]
\begin{myenumerate}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\myitem{What is the answer to life the universe and everything?}
\end{myenumerate}
\chapter{Some more stuff}
\lipsum
\end{document}
As you can see you have 15 \myitems but the 15th is not printed because there is not enough space in the page.

Playing a little with \lipsum you can see that it works fine in even and odd pages.
The ifprinted has been added to avoid printing subsequent \myitems if the previous has not been printed.