Currently it's pretty straightforward to do this by defining an extension function and feeding it with values via the :custom option. For example, you could imagine my-var("varname") accessing options[:custom]["varname"]. This is admittedly less direct than setting variables, but on the other hand it does make it more explicit that these values are coming from somewhere external: users are more used to functions popping up out of nowhere than variables.
From https://github.com/sass/sass/issues/1628: