Zip は *nix パーミッションをサポートしていますが、Windows にはパーミッションを任意に設定できるツールはありません。ただし、それらを設定できる Python スクリプトを作成することは可能です。
docker を使用して、Windows でのアクセス許可を含むファイルを圧縮できます
docker run -it --rm -v c:/Users/john/some/where:/data alpine
# within container do
apk add zip && cd /data && zip -r archive.zip dir-to-be-zipped