We don't know the exact amount of time because Before and After is set mostly in the future and past with Voyager's "present" being only a small part of the episode and they don't mention a star date in the present segments.
That being said here's what we can know for sure:
episode 21 (Favorite Son) occurs on stardate 50732.4
episode 23 (Real Life) occurs on stardate 50836.2.
I plugged those star dates into a few different stardate to calendar date converters I found and while they didn't exactly agree, they were all pretty close to each other. Here are the date ranges for those stardates.
50732.4: 09/25/2373 - 10/04/2373
50836.2: 11/02/2373 - 11/14/2373
If you believe those dates, the "present" parts of Before and After had to occur somewhere inside of that range.
As to your comment on Tim's answer about Kes's alternate ages. Her body is aged differently each time because her mind is jumping to different points in her life starting with her death. In the context of the episode, it's like her mind was "born" at her body's death and then leaps back in time to different points in her life. Each time her body is younger, because her mind is jumping into her body at an earlier point.
So, about that hair...
In the timeline up to this point, Kes has had short hair the whole time. Then Before and After opens with her dying and having long hair. The idea being that at some point in the future, Kes grew her hair. That's easy enough to grasp.
But, at the end of the episode, when she is returned to the "present", she still has long hair when she should have short hair, which is arguably a plot hole.
I suspect the real answer here is that either Jennifer Lien or the producers wanted to change Kes's hair style for the show and this was a convenient way to do it. In universe, it's a lot harder to explain and I don't think there's is a great explanation, but if I had to explain it, I'm inclined to go with Tim's interpretation.
As Kes jumped back through her own life, she gained "memories" of future events. The episode ends with her in the season 3 present with memories of the future Kremin attack among other things from her jumps. We're only shown that present Kes has these memories, but you could make an argument that past Kes has them as well. Therefore, young Kes "remembers" having long hair in the future, likes it, and decides to grow it earlier than the original timeline Kes would have. Because of that, she returns to the present at the end of the episode with long hair.
As for Tom and B'Elanna. It's a been awhile since I've watched the series, so I don't remember when the Tom/B'Elanna thing got going, but I'll take your word that this episode was the first time we see it and that it came from nowhere.
You could look at it like this. Tom spent a lot of the early episodes going after Kes. Since she now "remembers" that Tom and B'Elanna end up together, she could have influenced events a different way that led to them getting together earlier.
Honestly, I don't really buy that explanation and I'm fine with just knowing that a) they wanted to change Kes's hair and so just did it and B) wanted to introduce and Tom/B'Elanna relationship and just did it. But if we have to explain it, then that's probably the best way.