Unless you're really clever with the environment variables that supply the prompt components (like PS1 and PS2 etc in BASH), you won't be able to get the git status and branch shown in there.
I'd recommend sticking with oh-my-zsh for that reason, and within it, you should be able to achieve your #1 and #3 as well.
#1. According to https://github.com/robbyrussell/oh-my-zsh
, it's configured just like ZSH, using a ~/.zshrc and a .zsh file within the oh-my-zsh config and you should be able to manipulate the prompt strings to show the current path, truncated or otherwise.
#2. use the extensions configuration from oh-my-zsh
#3. this is typically done using shell aliases - look up the ZSH way at http://zsh.sourceforge.net/
you would link the shell command 'ls' to the same thing with the options you want, like single column, append characters indicating links or directories, etc.