Let me take your questions in turn.
Q1. You absolutely can have one style define another style. The details of what exactly you can do isare spelled out in the tikz manual. But here's an example.
\documentclass{article} \usepackage{tikz} \usepackage{pgfplots} \pgfplotsset{ compat=1.15, MyStyle1/.style={ MyStyleA/.style={red}, }, MyStyle2/.style={ MyStyleA/.style={blue}, }, } \begin{document} \begin{tikzpicture} \begin{axis}[MyStyle1] \addplot [ MyStyleA, domain=-3e-3:3e-3, samples=201, ] {exp(-x^2 / (2e-3^2))/(1e-3*sqrt(2*pi))}; \end{axis} \end{tikzpicture} \begin{tikzpicture} \begin{axis}[MyStyle2] \addplot [ MyStyleA, domain=-3e-3:3e-3, samples=201, ] {exp(-x^2 / (2e-3^2))/(1e-3*sqrt(2*pi))}; \end{axis} \end{tikzpicture} \end{document} As you can see, MyStyle1 defines MyStyleA to be red and MyStyle2 defines MyStyleA to be blue. If you want, you can simply append styles using Foo/.append style={...} rather than Foo/.style={...}.
It's worth pointing out that that if your reason for doing this is you want some particular style to apply to every plot, then rather than set MyStyleA and explicitly include it in every \addplot [MyStyleA], you can use every axis plot/.append style={...} like this.
\pgfplotsset{ MyStyle1/.style={ every axis plot/.append style={red}, }, MyStyle2/.style={ every axis plot/.append style={blue}, }, } \begin{axis}[MyStyle1] \addplot [ domain=-3e-3:3e-3, samples=201, ] {exp(-x^2 / (2e-3^2))/(1e-3*sqrt(2*pi))}; \end{axis} This has the same effect as the previous code.
Q2. In general, later styles override earlier ones. So in this case, you would use [MyStyle1, xmin=0].
Q3. As far as I know, you can put anything into a style that you could put in the optional arguments/\pgfset/\tikzset/\pgfplotsset.
