If the previous outputs are already split in 1 BKS outputs you can’t change that indeed and a transaction that would use 1300 inputs would be quite big.
The 1 BKS split can be prevented beforehand when the shares are sent by having for example splitshareoutputs=1000000 in the config of the sender. Share that are not going to be used to mint should probably be sent that way.
But to solve your immediate problem I think the easiest would be to use the listunspent RPC on the official client to get the list of unspent outputs of the address, and use a script to convert that to a list of inputs that you could pass to createrawtransaction. The script would select unspent inputs until the desired amount is reached. You would need to know the total amount selected so that you can include the right amount of change. Actually the script could do all that and just return the generated transaction.