Two ways I can think of.
1st. always sample at a high datarate, and decimate the data to the users preference. This can be a big chore, and lot of data manipulation from the description of your system
2cd. Implement a two loop design. One for your data acquisition and the other for the user interface. If the user changes these settings. Kill your daq tasks (this will be a bit tricky to deal with error handling, and passing parameters back and forth) and then set them up and fire away again.
I realize that this is a high level answer, but if you got this thing working the way I think you do, you will figure it out in short order.
Paul