In the zabbix_server.conf there is an option to set the timeout for agent and SNMP connections. I have a host with a poor line and so I would like to set this to a higher timeout, the issue is I do not want to set this for all hosts.
Is there any way of setting a host-specific timeout?
No, that is not possible. If the host is running Zabbix agent, change it to active mode and increase the timeout in the agent - that won't affect the server communication with other agents.