Как не дублировать настройки php-fpm в каждом location?
include как бы намекает, что можно вставлять куски конфигов из отдельных файлов. Создаешь файл с тем, что нужно, и просто пишешь include my-awsome-config-file.
Разобрался в своём вопросе. Может быть кому то пригодится.
1. Использовать именованный locationlocation / {
    try_files $uri $uri/ =404;
}

# именованный location
location @php {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
}

location ~ \.php$ {
    try_files /no @php;
}

location = /task.php$ {
    try_files /no @php;
    fastcgi_read_timeout 300; # не сработает
}

location ~ /cron/.+\.php$ {
    try_files /no @php;
    fastcgi_read_timeout 600; # не сработает
}
Минус - нельзя применять индивидуальные настройки для location.
2. Подключение через include# /etc/nginx/php.conf
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;location / {
    try_files $uri $uri/ =404;
}

location ~ \.php$ {
    include /etc/nginx/php.conf;
}

location = /task.php$ {
    include /etc/nginx/php.conf;
    fastcgi_read_timeout 300; # сработает
}

location ~ /cron/.+\.php$ {
    include /etc/nginx/php.conf;
    fastcgi_read_timeout 600; # сработает
}