Well, as long as operations are correct, you can apply them. However, you have to make sure that your work will terminate, e.g., you should not reintroduce operators that you have removed before. So, yes, the order of operations has to be considered carefully. What I did above is however okay in that sense.
Where to find these tricks? That is difficult to answer in general, but most of these are given in Boolean algebra like the absorption law etc. To simplify something like "a & phi" you may also consider its Shannon decomposition: (a ? 1&phi[a=1] : 0&phi[a=0]) and here you quickly see that this boils down to (a ? phi[a=1] : 0) which means a & phi[a=1]. Same you can do for "!a & phi".
At the end, I admit, you need some practice and experience. That's why we need the exercises to make you see such things.