There are a few ways to skin this cat. Depending on the version of FortiOS you are running. In 6.2 we introduced "Dynamic Address Lists" you can set up a web-server internally as an example and add the IP addresses you want to block. The Fortigate will pull the list of IP addresses from the server and create a dynamic address group you can use in your policies.
NOTE: 6.0 had a limited functionality feature where it ONLY worked in conjunction with DNS. That is, if 1.1.1.1 was a bad guy, and you opened your browser and typed www.goodguy.com and the DNS server responded with 1.1.1.1, it would block it, however if you opened your browser and typed [link]http://1.1.1.1[/link] it would allow you to go.
Also noteworthy, if you are using 'Central NAT' you do not have to worry, however if you are using policy NAT and using the vip as the destination IP in your policy, you will need to create a policy containing the all the VIPs you want to protect from the geo list or 'set match-vip enabled'
Check out an article I wrote on both the Dynamic Address Objects and the VIP Issue. As well as a geo script to add all countries