I definitely think a keeper league works for any size group. Like you mentioned, the first question would be how many keepers you want. I’d say typical is 2-3 and much more than that you may want to think about more of a dynasty format.
The next question is what ‘price’ are each of the keepers. The two general ways would be to keep X players with no penalty (basically everyone’s first/second/third rounders), or to have some kind of draft position based price.
The first is a little easier and will result in the best players being consistently kept so is pretty even. The second way can reward better (or luckier) drafting by charging a lower price for later drafted players. For example, this past year if you drafted Lamar in the 10th, you would only ‘lose’ a 10th rounder if you kept him. Whereas if there are no restrictions he would be a first/second rounder.
If your league is pretty active you may want to check with them to see if they have a preference on any of this as it’s a very impactful league wide decision. Also if you do make this change I would strongly recommend doing the first year as a totally new draft. Keepers will alter drafting/trading strategies so you don’t want to transform existing rosters into a keeper league where you keep players for this upcoming season.