Typically the mining pool will make the decisions on what transactions to include in a block. The miners are simply hashing headers.
If you want to have control, you can run your own p2pool node. This will allow you to make your own decisions about which transactions you want to include in the blocks you create.
Well, it will allow you to feel like you are making your own decisions. But not really.
Pretty much no one has any software to actually choose transactions ... so you'd have to code that also.