Can you reuse a very old receive address even if it was created before the last snapshot?
IOTA addresses can be used multiple times for receiving, but once spent, the security dramatically reduces. So, if the address generation algorithm has not changed (you are getting the same addresses and/or balances from the same key), and you haven't spent from that address yet, yes, it is safe to receive.
Once spent, never reuse an address.
In theory you can, but you absolutely should not, or your iotas will be at risk!
IOTA uses one-time signatures, that means that part of the private key of an address leaks when you use it for sending iotas (= signing). Thus, it's not safe to send iotas to an used address ever again, even after a snapshot.
The current IOTA wallet 2.5.4 doesn't store any user data, so it "forgets" which addresses you had before a snapshot. Pay attention that you don't generate a seemingly new address that was in fact used already before the snapshot.