Most routers can act as a DNS server. Look and see whether you can add names to its hosts table, then make sure the router's address is given to network clients during the DHCP exchange. It's generally a lot easier to reconfigure your router than to set up a local DNS server. I'm assuming you've assigned the Wordpress machine a static IP address, so it doesn't already appear in the router's hosts table.
If you're using DHCP with an IP "reservation" for the server, then you can ensure that the router get a specific name for your server by editing the file /etc/dhcp/dhclient.conf. By default the DHCP client uses the contents of /etc/hostname via the get_hostname() operating system call. However you can enforce a specific hostname during the DHCP negotiation by changing
send host-name = gethostname();
You might need to enforce the .chm domain on the router, though you can try using
send host-name = pegasus
and see if that works.
send host-name = pegasus.chm
If you don't have control over the "talktalk" router, I suggest buying a router with support for dd-wrt and placing it behind the talktalk device.