In our family, we only buy for the kids until 18, then they take part in the "family gift game" where every adult buys one gift for the same gender, and there's a creative way (usually a game) where it gets swapped. That way, the kids still get in on a gift, and we don't have to buy for all the adults. It's hard to know what people need anyway, when you don't see them very often, and you can only buy so many candles.
As for the "favorite" niece, we have one of those, too. And yes, she's our favorite, but we are hers, too. She makes an effort to spend lots of time with our kids, babysits for us when she visits or we visit, and is my husband's Godchild. So we do play favorites. She will probably receive a gift from us forever. The trick is to not "display" this. We give her gift in private. No one notices because 1) all the "kids" in the family scramble in a huge flurry to open thiers so it's hard to see what any kid got, and 2) since she's now over 18, there is no reason to think she got something from us. You could pull her aside, or walk her to her car, or something, and say something like, "I know we don't exchange gifts with the nieces and nephews once they're over 18, but I wanted to get you a little something because I think you're special and important in my life. Enjoy!"
I would get your niece a gift that's for her, but could easily include the boyfriend is she chooses to share: Netflix membership, movie theater gift cards, restaurant gift card, etc. Something to treat themselves (or her and a girlfriend) when she probably doesn't have much money for social stuff.