When you say controller IP, is that the ZD suboption they're talking about?
If the VSZ IP and the IoT controller IP are different suboptions then each of them needs it's own length field right?
So in total the DHCP option 43 with the two suboptions would be built like this:
2B zz 03 yy xx .. xx 06 ww vv .. vv
2B: 43 in hex
zz: total length of the option value (including all suboptions) in hex
03: specifies that the ZD option follows
yy: length of only the 03 suboption in hex
xx .. xx: hex value of the ZD option (the IP address)
06: specifies that the vSZ option follows
ww: length of only the 06 suboption value in hex
vv .. vv: hex value of the vSZ option (the IP address)
Those first two would automatically be handled by Meraki when you choose custom and option 43. So the only part you need to fill in in the custom box would be:
03:yy:xx:..:xx:06:ww:vv:..:vv
Note that the first field is always the identifier specifying the option and the second one the length.
If one suboption really contains two IP addresses in its payload (perhaps for redundancy) I'd start testing with just one. Also capture a DHCP request from you ruckus devices with wireshark so you can see how the DHCP offers are actually sent. This should aid in troubleshooting.