I read:
is it possible to change the name of a [delwrite~] dynamically like changing the name of an array?
no, but you could dynamically create a delwrite~ object, see http://dh7.free.fr/pd-msg/pd-msg_05.tar.gz
it would be nice for some reasons to rename a delayline, so it would possible open the same subpatch several times without getting a [multiple defined]-error.
that's what $0-something is for, $0- is expanded with a unique number for each patch (thus keeps arraynames, sends, receives, delaylines and whatnot local to your patch), try with send and receive as in:
[s foo]
[r foo]
[s $0-foo]
[r $0-foo]
HTH
x