UPDATE
Seems that the 4s wifi (and possibly others) has a small bug from time to time when switching between networks when 3g and wifi are enabled in the phone at the same time.
The iphone SHOULD automatically connect to 3G once wifi goes out of range.. and this is where the problem seems to stem from. I confirm this as I have only had the problem since coming back from interstate and using my phone as an AP there over 3G.
So the flow is
At home (wifi working) -> Travel interstate (wifi turned on + 3G turned on - works, wifi not tested so unsure) -> return home and disable Cell data/3G (Problem begins)
I'm not sure exactly what records in the phone are having trouble being updated/overwritten when this changes... but I have a feeling it'll be a nice friendly .plist file somewhere that is .plisting me off!
Most likely something to do with the DNS registration process of the iphone.
I am convinced that it is not the router now. Other posts around have suggested changing the wifi channel in the router, which I changed from 11 to 6. Upon initially changing the channel the wifi still didnt work.
So I then disabled uPnP in my router (which I use for port forwarding purposes), thinking that maybe the iphone is being blocked here..
Could still connect to AP but no wifi access.
With uPnP disabled I checked 'forget this network' in the iphone.
Then loaded safari and reconnected to my network with DHCP enabled on the phone.
Then turned uPnP back on in router.
After about 10 seconds the iphone had an ip address over DHCP and the DNS entries reflected what was in the router. So basically whatever I did in the last few steps had fixed the issue.. seemingly.
I started wondering if changing the wifi channel was actually the fix, but needed some time to reconfigure.. so I retested by changing the channel back to 'auto' which set it back to 11.
Sure enough, everything is still working.. so using a different channel is NOT the solution here.. although possibly changing the channel then reconnecting your phone to the network MAY overwrite the problem area.
Will research further... but for now I managed to get my iphone back on the wifi using DHCP rather than manual settings. Oh and realised that I could change the channel width to 40hz!! Now my home wifi network FLIES!!