To answer your first question:"Can we configure two fabric switch in a stackable environment", yes you can stack or connect multiple switches to create a FC Fabric. Minimum of 1 and max of 16 InterSwitch Links (ISLs) in MDS. You can leverage Cisco FC Port Channelling to aggregate those links into one Logical link. Make sure you configure for VSAN trunking across the ISL/Port Channel to merge the fabric switches.
For your second question "assign all host into a new zone without harm to any data and connectivity". So depending on what your goal is, you can assign the same hosts and targets into other zones within the Zone Set. So, for example, if you are adding a new Storage (Target) port/ports to the fabric, you can create new zones and zone them to your existing hosts. This will not harm any existing data flows or create connectivity issues.
Below are are few helpful guides as well as best practices. If you're not very familiar with implementing any of this, I would suggest you work with a Prof Services organization as there are other facets to consider. https://www.ciscolive.com/c/dam/r/ciscolive/emea/docs/2020/pdf/BRKSAN-2883.pdf
https://fibrechannel.org/wp-content/uploads/2019/06/FCIA-FC-Zoning-Basics-Final.pdf
https://www.cisco.com/c/en/us/td/docs/dcn/mds9000/sw/9x/configuration/fabric/cisco-mds-9000-nx-os-fabric-configuration-guide-9x/overview.html
https://www.cisco.com/c/en/us/td/docs/dcn/mds9000/sw/9x/configuration/interfaces/cisco-mds-9000-nx-os-interfaces-configuration-guide-9x/configuring_interfaces.html