Hi there,
You could do this with an iRule, but I think it would be easier and more efficient to use ratio load balancing in a single pool. You could set the ratio on the members you want to receive 80% of traffic to 4 and the ratio of members you want to receive 20% to 1. This would also allow you to use a single persistence profile to ensure requests from the same client are sent to the same pool member.
You can get more information on ratio load balancing in the LTM config guide for your version:
LTM 9.3 Config Guide
https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip9_3config/BIG_IP_LTM_9_3_Config_Guide-05-1.html
Ratio (member) and Ratio (node)
The BIG-IP system distributes connections among machines according to ratio weights that you define, where the number of connections that each machine receives over time is proportionate to a ratio weight you define for each machine. These are static load balancing methods, basing distribution on static user-assigned ratio weights that are proportional to the capacity of the servers. Regarding Ratio load balancing:
Load balancing calculations may be localized to each pool (member-based calculation) or they may apply to all pools of which a server is a member (node-based calculation). This distinction is especially important with the Ratio method; with the Ratio (member) method, the actual ratio weight is a member setting in the pool definition, whereas with the Ratio (node) method, the ratio weight is a setting of the node.
The default ratio setting for any node is 1. If you use the Ratio (as opposed to Ratio (member) load balancing method, you must set a ratio other than 1 for at least one node in the configuration. If you do not change at least one ratio setting, the load balancing method has the same effect as the Round Robin load balancing method.
Warning: If you set the load balancing method to Ratio (node), as opposed to Ratio (Member), you must define a ratio setting for each node.
Aaron