You can make a specialized wrapper type like:
julia> struct AB{T}
A::T
B::T
end
julia> struct ABWrapper{T}
ab::AB{T}
end
julia> function Base.getproperty(obj :: ABWrapper{T}, field :: Symbol) where {T}
if field === :A
obj.ab.B
elseif field === :B
-obj.ab.A
else
getfield(obj, field)
end
end
julia> ab = AB(10, 20)
AB{Int64}(10, 20)
julia> abw = ABWrapper(ab)
ABWrapper{Int64}(AB{Int64}(10, 20))
julia> ab.A
10
julia> abw.A
20
julia> abw.B
-10
But I would sincerely just replace the object by one with the fields switched.