First you have to give names to each node, with the syntax
node[<options>] (<name>) {<node text}
I define a macro \HighlightedNode that holds the name of the node to be highlighted, and a second one \Highlight to change the node to be highlighted.
The highlighting is simply a thick red ellipse drawn around the centre of the node, please advise if you want something different.
The \TikzFig node contains your tree and the additional
\draw [ultra thick,red] (\HighlightedNode.center) circle [x radius=5em,y radius=1.5em];
which creates the highlighting.
Using a macro defined by Martin Scharrer in How can I know if a node is already defined? I check for whether the node defined by \HighlightedNode exists, and only then draw the highlight. By defining \HighlightedNode to a string that is not a node name in the picture, this effectively turns off the highlighting.
I also changed from \tikzstyle to \tikzset, the latter is recommended. And don't use \it, these two-letter font switching macros are deprecated, use \itshape instead. Finally, rather than adding \small\itshape as you've done, I think I would use every node/.style={font=\small\itshape}.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\newcommand\HighlightedNode{none}
\newcommand\Highlight[1]{\renewcommand\HighlightedNode{#1}}
\makeatletter % https://tex.stackexchange.com/questions/37709/how-can-i-know-if-a-node-is-already-defined
\long\def\ifnodedefined#1#2#3{%
\@ifundefined{pgf@sh@ns@#1}{#3}{#2}%
}
\makeatother
\newcommand\TikzFig{
\begin{tikzpicture}[level 1/.append style={level distance=5ex,sibling angle=90},
every node/.append style={font=\small\itshape}]
\tikzset{show/.style={draw,rectangle,thin,rounded corners}}
\node[show] {}
child {node[show] (mono) {Monomorphism} }
child[missing]
child {node[show] (poly) {Polymorphism}
child { node[show] (adhoc) {Ad hoc}
child {node[show] (overload) {Overloading} }
child [missing]
child {node[show] (coerce) {Coercion}}
child [missing]
}
child [missing]
child [missing]
child [missing]
child {node[show] (uni) {Universal}
child {node[show] (para) {Parametric}
child {node[show] (polyfunc) {Polymorphic Functions}}
child [missing]
child [missing]
child {node[show] (polytype) {Polytypes}}
}
child[missing]
child[missing]
child {node[show] (inclusion) {Inclusion} child {node[show](subtype) {Subtype}}}
}
}
;
\ifnodedefined{\HighlightedNode}{
\draw [ultra thick,red] (\HighlightedNode.center) circle [x radius=5em,y radius=1.5em];}{}
\end{tikzpicture}}
\begin{document}
\TikzFig
\Highlight{poly}
\vspace{2cm}
\TikzFig
\Highlight{coerce}
\vspace{2cm}
\TikzFig
\end{document}

root>-2-3. How do you want to highlight the node? Do you simply want to change the border color for example? Do you want to change the font setting? Do you want to move it around or make it bigger? – Qrrbrbirlbel Dec 06 '13 at 23:56