You can use PowerShell and a scheduled task to accomplish this. New firewall rules can be created with the New-NetFirewallRule Cmdlet. Your rule would probably look like this:
New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null
You will have to put your allowed IP addresses in an array (see variable $IPs) for this to work. Of course, this part of the script depends on the layout of your text file. If your file looks like this:
8.8.8.8
8.8.4.4
Then the following code snipped should work:
$IPs = Get-Content -Path "Path\to\file.txt"
New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null
To update the rule, you can either delete and recreate it with the net set of IP addresses using the Remove-NetFirewallRule Cmdlet, using the display name as identifier.
Remove-NetFirewallRule -DisplayName "name"
Or you can use the Set-NetFirewallRule Cmdlet to modify your existing rule with the same set of parameters.