What is an easy way to programmatically add new zone files and change the BIND configuration from a remote server?
The fastest and arguably easiest is to connect to the server via a console like SSH (or telnet if you really don't care about security) then changing the configuration files with your favorite CLI editor (eg emacs or vi).
BIND also has has
rndc which allows for certain administrative tasks. If BIND is backed by a database, then you can directly edit the database.
There are some web GUIs that can be installed and configured to administer BIND, but generally require quite a bit of setup; most of which may be very foreign to someone looking for an "easy" way to configure a DNS server.