You can get target by name from NLog configuration and change settings at runtime:
var target = (FileTarget)LogManager.Configuration.FindTargetByName("file");
if (target != null)
target.ArchiveAboveSize = 3000;
Unfortunately you can't update NLog configuration file this way - you should do that manually. You can use LINQ for that:
var nlogConfigFile = "NLog.config";
var xdoc = XDocument.Load(nlogConfigFile);
var ns = xdoc.Root.GetDefaultNamespace();
var fileTarget = xdoc.Descendants(ns + "target")
.FirstOrDefault(t => (string)t.Attribute("name") == "file");
fileTarget.Attribute("archiveAboveSize").SetValue(3000);
xdoc.Save(nlogConfigFile);