Monkeying with the algorithm for tab complete to rip a couple items out of the pool is more complicated than you imagine. It actually can be done but it's not easy, efficient to use or recommended.
Instead, @jasonwryan was on the right track that you should come up with something else for your command name. However instead of trying to stay with one word, the name of a server as a command name, I recommend you switch models to a multi word model like the rest of Unix. Tab completion for command names is quite different than tab completion for arguments, the latter is quite easy.
Setup a short easy alias like 's' or whatever your connect alias is, but don't include the host name. Then setup a custom completion routine for that command that ONLY autocompletes to host names like:
alias s=ssh
complete -F _known_hosts_real s
You could also create a custom function for this:
alias s=ssh
_my_hosts() {
type compopt &>/dev/null && compopt -o nospace
COMPREPLY=( $( compgen -S = -W 'flexo mexo dexo' -- "$cur") )
}
complete -F _my_hosts s