Listener is a process running in the Oracle Server machine. The responsibility of the listener is to listen for the incoming database connection request and spawning server process to handle the request(in Dedicated Server mode) or handing over to dispatcher process(in Shared-Server mode). In RAC architecture we have SCAN listener to redirect connection requests to the nodes. So just to redirect the connection three SCAN listeners are enough. However we can have more SCAN listeners by adding more SCAN VIPs.
No of scan IPs has been determined after careful study by Oracle base development and has been found sufficient as of now. You can still configure more if you want to. But that, I believe, would be the wastage of the IPs. more..
If the SCAN name resolves to one IP address, root script (root.sh or rootupgrade.sh) will create the number of SCAN VIP resources(ora.scan1.vip) and corresponding SCAN listener resource(ora.LISTENER_SCAN1.lsnr) depend on how many IP address the SCAN name resolves to, i.e.if the SCAN name resolves to two IP addresses, it will create two SCAN VIP resources and two corresponding SCAN listener resource.more...[MOS Account required)
Here is a very good discussion for the same kind of question.
Why 11gR2 scan have limited maximum to 3 ips