Can I use environment variable as a value for property in the step item
Only variables in this list can be used as substitution parameters in step attributes. User-defined values are not supported. When Drone injects variables in the yaml, they are injected before the yaml is parsed (using something similar to find / replace). In your example, it would require injecting variables after the yaml is parsed which is not possible based on the current design.
Also note that Drone supports yaml alternatives, including Starlark and Jsonnet. If your goal is to keep your configuration DRY and anchors and aliases are insufficient, Starlark and Jsonnet are the recommended solution.