Which inputs will be spent? Say someone holds 100,000 btc.  Over time, this address has been spammed with dust by numerous parties.  

Now, the oldest funds come from the previous large transaction.  If the dust is, say 0.0000101 btc, can someone send this exact amount elsewhere and get rid of the dust?  Or will the client get the oldest inputs and spend the dust from there?
Bitcoin Core doesn't use an oldest-first selection but a more complex solver, it will probably end up spending outputs you don't want to in this particular case. You can do manual selection of the outputs you want to spend using the Coin Control section of the advanced GUI, which will let you ignore the dust if you don't want to spend it.