Die Zeilenenden in Deinem `\vlabel` Befehl fügen jeweils ein Leerzeichen ein, dass das Du auskommentieren musst. Weitere Infos dazu findest Du unter [Was sollen die Kommentar-Zeichen (%) am Ende der Zeilen?][1] sowie unter [Ich habe zusätzliche Leerzeichen/Einzüge in meinem Text, die da nicht hingehören. Woher kommen die?][2].
    \documentclass{article}
    \usepackage{ifthen}
    \usepackage{pgffor}
    \begin{document}
    \newcommand{\vlabel}[1]
    {%
    \ifthenelse{\equal{#1}{abc}}{First Title}{}%
    \ifthenelse{\equal{#1}{def}}{Second Title}{}%
    \ifthenelse{\equal{#1}{ghi}}{Third Title}{}%
    \ifthenelse{\equal{#1}{jkl}}{Third Title}{}%
    \ifthenelse{\equal{#1}{mno}}{Fourth Title}{}%
    \ifthenelse{\equal{#1}{pqr}}{Fifth Title}{}%
    \ifthenelse{\equal{#1}{stu}}{Sixth Title}{}%
    \ifthenelse{\equal{#1}{vwx}}{Seventh Title}{}%
    \ifthenelse{\equal{#1}{yz}}{Eightth Title}{}%
    }
    \foreach \i in {abc,def,ghi,jkl,mno,pqr,stu,vwx,yz} {
    \begin{table}
    \caption[]{\vlabel{\i}}
    \end{table}
    }
    \end{document} 
![alt text][3]
  [1]: http://texwelt.de/wissen/fragen/16/was-sollen-die-kommentar-zeichen-am-ende-der-zeilen/19
  [2]: http://www.komascript.de/signifikanteLeerzeichen
  [3]: http://texwelt.de/wissen/upfiles/tw_leerzeichen.png