VPN tunnel / connection allows your IP address geo-location to be hidden / moved to a different place. So what your dad has been doing is the correct. He can't access iPlayer from Portugal due to iPlayer can 'see' that the incoming IP is from Portugal, hence why he is using VPN to make his connection appears from other place (not portugal) that can access iPlayer. There are more way and purpose for using VPN, but this is one way of using VPN - to avoid regional restriction.
People wanting to access US Netflix from UK, will also need VPN tunnel/connection.
What DNS does is simply translating URL names (eg. www.google.com) into IP address (eg. 192.168.0.1). Further information about DNS is available from the wiki.
So setting up a DNS server will not help your dad accessing iPlayer.
Edit to add (after further reading):
After reading your comment about using DNS - I had a search and research and found out how a DNS change allows you to 'cheat' the geo-location restriction. So I'd share the finding here, and also to note down some main differences between the 'cheating' method of VPN and DNS as pointed out by the OP.
DNS Changing Method
These DNS changing method are done by some 3rd party DNS provider (unblock-us.com, and proxydns.co to name a few) and yes according to their "How-to" it is just as simple as changing DNS entry on your PC/Mac/etc and it will work. On the background, it is not as simple as it looks.
The way this method works is by using their DNS (And subscribing to their service), you are also 'renting' a reverse-proxy server that they host to allow this whole process. (Related information has been answered here)
So the initial connection to the geo-location restricted services are done by the 3rd party, showing off their non-restriction IP address. When the streaming service is starting, and there is (probably) a unique URL identifying the connection sent back to them, they pass that URL with the verification already done to the end user directly. The URL is often the URL of a CDN (Content Delivery Network) that does not do any checking, and simply stream content as requested.
This is how a geo-location restricted content can be bypassed by these 3rd party DNS provider as they do 'black magic' on the background for you.
This is also why these DNS providers have a list of sites they can handle, as they have to carefully configure their end to forward the request accordingly so they are the one getting the IP check, and you (end user) just get content.
VPN Method
VPN creates a tunnel (or a tube if you prefer) from your PC to the VPN server. This tunnel creates the illusion that your PC is actually located where the VPN server is located. To add a layer of complexity, the VPN server may also have choices of 'exit-nodes' or 'location' so they can make you appear in different countries as offered by the VPN server.
Since VPN tunnel put through ALL connections through the VPN server, you will not have any 'site' restriction. You will simply be location-restricted (eg. You are using US exit-node and accessing netflix, but can't access BBC UK, or you are using UK exit-node, and vice versa). But again as above, if your VPN server have choices of multiple exit-node, then you can simply choose the correct location, and access the service that you wanted.
Hope this helps.