We know for certain only three things about Fiona's age:
- She's older than MC.
- She's younger than Becca.
- She's old enough to have been sexually active for at least 20 years (from Mary's line ~"She hasn't had a real dick in at least 20 years" (though we know that the MC is her first, Mary presumably knows roughly how old she is and is therefore relying on her estimate of her age is a better idea than blind guesses)).
As for everyone else's age, we know a few things:
Sandy > Li > Lu.
Maddy ~= Lu.
Sandy was old enough to speak her first word as Lu was born.
Becca was forced to leave the MC when he was 4 years old.
It was 3 years after arriving to Mary's before Becca and Christian met.
Minimum age difference between MC and Sandy is therefore ~8 years.
Everyone is at least 18 years old.
Maddy is just finishing high school, though she did repeat a year, which puts her at roughly 18-19.
Lu is roughly the same age, probably in the same school year as Maddy (considering that it was Sandy's birth that made Mary want to have a kid) so let's assume that Lu is similarly 18-19.
Children tend to have their first words at ~18 months if I recall correctly.
This puts Sandy at ~19-21, depending on where birthdays lie.
Which puts the MC at ~27-29.
We know that Becca was "pretty young" when she had the MC, and the conversation was in the context of "teenage pregnancy" so we can roughly assume she was somewhere between 16 and 19 when MC was born, leaving us with a range of her age between 43 and 48.
So that gives us a range for Fiona between 30 and 47, we know that it's unlikely she could have been sexually active at 10, so we can add 6 years to that (for a "reasonable" approximation of first experiences) so Fiona, by my reckoning is at least 36, and at most 47. Though I'd say she's probably no older than 40.