One-way function with combination sets as output / image
From what I know, there's a prior art here. 

The random oracle / hash function used in BLISS signature scheme hashes a certain bit string into a sparse vector (see section 4.4). And the way they do it, is similar to what you just described. 

I've got an old code sample lying around you can reference, I've incorporated a few later improvements.