Took me a minute but basically what your talking about is passing values by reference (vb = byref) as in:

function ( $x byref, $y byval)

this has been suggested in the past ... brought up numerous times ... especially when kholm and myself were working on those sorting routines (COMBSORT and QSORT) ... and the discussion about QQSORT centered around using a global array.

But I think I like your syntax though better than the VB one ... especially since Ruud specifies the parameter qualifiers before the values as in:

function myfunc ( optional $c)

so why not:

function myfunc ( optional global $c)

seems to fit better into the language imho.