Actually, I think your approach is better: in most cases where you reuse a factorization, you would want to use the same tolerance.
The tolerance of the factorization could be thought of as a default tolerance, which could be overriden:
G = gmresfact(A,b; tolerance=eps())
G \ b # uses default tolerance
\(G,b; tolerance=1E-3) # overrides default tolerance
but this may be overkill.