I am a little late to the conversation, but I think there may be something missed here. To start with, a policy package is what is used to set the security for a firewall based on the rules and settings within it. Within a policy, it is possible to have different Policy Layers.
A Policy Package can be assigned to either All Gateways, or to specific gateways. This changes the available gateways you see when you click the install button. What is installed on the gateway is the policy package - including the layers included in that specific policy package.
Layers are used within the policy package, but cannot be assigned to specific gateways. @AkosBakos is correct in the statement that a gateway can only have one policy package installed at a time. You have to choose the Policy Package you want to install, and in doing so, you will have the option to select one or more of the gateways that are set as Installation targets. This is set in the manage policies, not in the rules themselves.
I think when you are stating policy layers above, you are referring to the individual rules within the policy layer. This has the "Install On" column that is by default set to to Policy Targets. This means the rule will be applied to any gateway this Policy Package is installed on. If you have 5 firewalls, and you have a single policy package for all of them, and the Install On column is set to policy targets, all 5 firewalls will enforce that rule. You can however change the install on column to one or more of those 5 firewalls. That means the rule, when installed, will only be enforced on the firewalls designated within the install on column of the rule.
Now the best practice is if you have multiple policy packages, you should set the installation target to only allow the gateways the policy package applies to. Additionally, you should not have multiple policy packages that can be installed on the same gateway. There are some exceptions - like if you are cleaning up a policy, or merging policies. But this should be short-lived, and after the cleanup, the old policy should be removed to make sure it is not accidentally installed.
Not sure if anyone is following this any longer, but hopefully it helps clear things up a bit.