I just whipped up a [value] update which changes the backing value storage to use a t_atom and allows setting the value type based on a flag: -s makes a symbol value, otherwise a float value. There are some checks against type mismatches between the same name.
This allows for sending & receiving symbols via [value -s] or [v -s] objects. Existing [value] and [v] objects are float types.
The only issue I can see, other than a little more memory usage and type checking, would be possibly breaking patches which use "-s" as a value name. In this case, sending a float to the inlet is silently ignored and a default "symbol" symbol would be output on a bang which would cause a trackable error.
I can put up a PR soon when I clean up this change a bit. In the meantime, macOS people can try out a test build:
Pd-0.50.2-value-symbol.zip