This isn't exactly what you asked for (sorry), but I achieved what I think you're talking about in a slightly different way.
I did this in the old days (Amigopod). I achieved it with controller ap-groups and VAPs instead as I knew exactly what the result would be. Might be handy for you if you can't find a more slick way? I know this works. The below is on the basis of 3 areas (A, B and C) and should be self explanatory?
If you read it bottom up, it might make more sense. The order top-down, is the way you'd paste the script into the controller CLI.
aaa authentication captive-portal "A"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
login-page "https://clearpass-vip.xyz.com/Landing-A.php"
!
aaa authentication captive-portal "B"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
login-page "https://clearpass-vip.xyz.com/Landing-B.php"
!
aaa authentication captive-portal "C"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
login-page "https://clearpass-vip.xyz.com/Landing-C.php"
!
user-role "guest-logon-in-A"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
captive-portal "A"
!
user-role "guest-logon-in-B"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
captive-portal "B"
!
user-role "guest-logon-in-c"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
captive-portal "C"
!
aaa profile "guest-aaa-for-area-A"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
initial-role "guest-logon-in-A"
!
aaa profile "guest-aaa-for-area-B"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
initial-role "guest-logon-in-B"
!
aaa profile "guest-aaa-for-area-C"
<<<PUT WHATEVER ELSE YOU NEED IN>>>
initial-role "guest-logon-in-C"
!
wlan virtual-ap "guest-vap-for-area-A"
aaa-profile "guest-aaa-for-area-A"
!
wlan virtual-ap "guest-vap-for-area-B"
aaa-profile "guest-aaa-for-area-B"
!
wlan virtual-ap "guest-vap-for-area-C"
aaa-profile "guest-aaa-for-area-C"
!
ap-group "area-A"
virtual-ap "guest-vap-for-area-A"
!
ap-group "area-B"
virtual-ap "guest-vap-for-area-B"
!
ap-group "area-C"
virtual-ap "guest-vap-for-area-C"
!