Consider the following code:
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]{title}
\begin{lstlisting}[escapeinside={!*}{*!},]
int add
int !*\color{red}add*!
\end{lstlisting}
\end{frame}
\end{document}

As you can see, the spacing (or the font) in the word inside the escaped code changes. How can I make it to look the same?
I need to change specific parts inside the listing, but the spacing inconsistencies is a problem.

columns=flexiblethat sets the spacing more naturally and solves the issue for this instance. However "escaping" means being outside the listings column alignment. Another option could be keyword highlighting and similar. – Heiko Oberdiek Apr 04 '14 at 19:56