You will need to configure your APC to accept SNMP read from the IP of your FreeNAS box, once you've done that you'll need to get a little hacky with your FreeNAS box for it to use SNMP.
Out of the box SNMP doesn't work and the webinterface will not let you select the driver/port for snmp-ups correctly, in the first instance configure your UPS in the FreeNAS interface, selecting "Various ups 3" as the driver, the config will not work once saved as you cannot select the correct port, i.e. you can not define the IP of the target UPS, merely the Serial/USB port.
I accept no responsibility from this point, tinker at your own risk.
You can over come this problem by downloading your /data/freenas-v1.db and editing it in SQLlite database browser. Open the DB, browse data and edit the 'services_ups' table, change 'ups_port' to the IP address of your UPS. Save and upload the file back to your box.
Go back into the UPS config web page and add a line to the Auxiliary parameters (ups.conf) section;
community = public
my community is public2, but the default is public on most APC's.
Save this.
If you look at /etc/local/nut/ups.conf you should have something like this;
[APCUPS]
driver = snmp-ups
port = 192.168.2.250
desc = "5000"
community = public
At this point you can try and start the UPS service, it should connect. To check if the FreeNAS box can actually see the SNMP data, use;
/usr/local/libexec/nut/./snump-util
I have this working with an APC Smart-UPS RT 5000 XL at the moment.