Every nagios plugin i know will exit with a code of 2 if it times out. Nagios reads the exit code on all scripts ran, and will critical if exit code is 2.
You will either have to recompile/rescript every plugin you use to not exit with code 2 on timeout, or write some sort of master script you'd use for all of your service chekcs that executes what is passed to it, matches timeout somehow in the output of the plugin it runs, then exits 0 if "socket timeout" or whatever is found.
If a socket timeout isn't a "real problem", then i'd question whether its worth monitoring. If you'd like nagios to try for longer before changing state to HARD (critical) and sending an alert out, modify your retry_check_interval and max_check_attempts options in your service checks. That should give enough time for people to restart the firewall or whatever.