Direct FTP access to Heroku?
No, it is not possible. While directly pushing with FTP is more simple, it is a fragile means of deploying code and managing applications (hard to track what was done, difficult to reproduce or manage rollbacks, etc).
No, you cannot. Using the Git you can manage different version of your code