How to add a file into zip?
AFAIK There's no (free) onboard app to achieve this.

The easiest way would be to do it via command line.

zip /path/to/zipfile.zip file1 file2


If you want to add all(!) files within a directory and subdirectories, run

zip -r /path/to/zipfile.zip /path/to/dir


It will also add .DS_Store files and that like, so be careful with the latter command.

However, if you're fine with spending some money, you could take a look at http://macitbetter.com. They provide an app called BetterZip 2 which is also capable of doing what you want.