In general, I do not recommend such "optimizations" since they quickly lead to mistakes. Automata store something about the previous input sequence in the states, and maybe you destroy that invariant with your "optimizations". Your suggestions turn out to be incorrect, I tried them with a tool, in that I called the original states q0,q1,q2,q3,q4 and the new ones of your automaton p0,p1,p2,p3,p4 and then stated that ((F G (q3|q4)) <-> F G(p3|p4)) holds. I got then the following counterexample:
-> State: 1.1 <-
  a = TRUE
  q0 = TRUE
  q1 = FALSE
  q2 = FALSE
  q3 = FALSE
  q4 = FALSE
  p0 = TRUE
  p1 = FALSE
  p2 = FALSE
  p3 = FALSE
  p4 = FALSE
-> State: 1.2 <-
  a = FALSE
  q0 = FALSE
  q1 = TRUE
  p0 = FALSE
  p1 = TRUE
-> State: 1.3 <-
  a = TRUE
  q1 = FALSE
  q3 = TRUE
  p1 = FALSE
  p3 = TRUE
-> State: 1.4 <-
  a = FALSE
  q3 = FALSE
  q4 = TRUE
  p3 = FALSE
  p4 = TRUE
-> State: 1.5 <-
  a = TRUE
  q3 = TRUE
  q4 = FALSE
  p3 = TRUE
  p4 = FALSE
-> State: 1.6 <-
  q3 = FALSE
  q4 = TRUE
  p3 = FALSE
  p4 = TRUE
-> State: 1.7 <-
  a = FALSE
  p3 = TRUE
  p4 = FALSE
-> State: 1.8 <-
  a = TRUE
  q3 = TRUE
  q4 = FALSE
  p2 = TRUE
  p3 = FALSE
-- Loop starts here
-> State: 1.9 <-
  a = FALSE
  q3 = FALSE
  q4 = TRUE
-> State: 1.10 <-
  a = TRUE
  q3 = TRUE
  q4 = FALSE
-> State: 1.11 <-
  a = FALSE
  q3 = FALSE
  q4 = TRUE