I have set my terminal preferences to execute:
set -o vi
at startup. The problem is I don't get that command executed when open a new terminal tab.
Is there something like .profile in OS X where I can put that command?
.profile file in MacOSX works exactly how you would expect.
Simply create the .profile file in your user directory if it doesn't exist.
Because, as noted, Terminal has used bash by default for a few versions, you may want to keep an eye out for a .bash_profile file if .profile isn't present. See the "which startup files are read by the shell?" FAQ at http://hayne.net/MacDev/Notes/unixFAQ.html#shellStartup which explain how the different files are used and the order in which they're read at startup.