I think Gimp might actually allow you to make live SVG edits, but I don't think you can have variables or loops in SVG. You'd need a scripting language plus a higher-level interface along the lines of Core Graphics (UIBezierPath).
My point is that you can work on .SVG from a program; it's a simple text format. It's declarative, not executable. You don't want to have a Turing-complete executable graphics representation; it's too hard to edit. Postscript and PDF are executable representations, and editing either does not work well.
Also, if it's executable, someone will write an exploit in it.
Fine, but what if I need to do something like: create a shape, make 5 instances of it (all progressively offset, translated, and rotated), and give each one a different color and outline — all while still keeping the original shape editable? What if I have a polygon with a child polygon that needs to have the same angle on one of its sides as its parent? What if I want to give the shadows in different parts of my file the same opacity and color? What if I want to define the relationship between an object's width and the thickness of its borders? I run into these sort of problems all the time. Illustrator almost gets there with its non-destructive effects, but it's not enough. Doing it using code alone is awful, since these sorts of problems tend to be small (but essential) parts of a project, and I need the GUI for the rest.
A lot of vector art already runs as a program; it just happens to run in the artist's head, and requires far too much effort to update. There ought to be a general solution.