There is a lot in your post, but I'll try to answer some of your questions.
@Izinyoka:
Does the firewall use its own WAN IP for outbound connections, or does it use the VIP?
You should use AON and specify your CARP address for outgoing.
@Izinyoka:
2. Can it also provide redundancy for ISP failure?
CARP is generally used to provide failover if your firewall has a hardware problem. ISP redundancy is a separate issue. You can use multi-WAN failover as one solution.
@Izinyoka:
3. Im sure I read somewhere that CARPDev can provide redundancy like in case 1. with only one public IP, is that correct? because it looks like CARPDev is included in version 2 and I tried it but I don't see a difference (inbound packets are still distributed between both boxes randomly).
I have to check out the newest 2.0 snaps, but AFAIK, CARPDEV is not yet stable on FreeBSD and not in 2.0.
If you were using CARPDEV, the WAN interfaces would have private IPs and they would share the public CARP IP.