My client (bitcoin-qt for Windows) refuses to send a transaction unless I agree to pay the fee as well (like, if I try to send my entire balance to a new wallet, I'm informed once the fee is added in, I don't have enough BTC for the transaction. How would I send the transaction with no fee (or simply a smaller fee than what is requested), in that a miner will accept it?
There are variants of the bitcoin-qt client which allow you to send without fee. I don't know exactly how you get and install them, whether you need to compile them yourself or just donwload a binary.
If your goal is to move your balance into a new wallet you might just export your keys from the old one and import into the new one. However, if you feel your old wallet could have been compromised (keys stolen) then transferring the balance is a good idea anyway.
And how, as either a miner or a pool, could I specify that I will accept transactions with less than the minimum prescribed fee attached? Can a BTC client be programmed to send its transactions to a specific pool for processing?
No, all miners see all transactions and try to find a valid hash concurrently. With pools, the "miner" that decides what to put in a block is the pool operator (or rather his software), the pool participants only perform the grunt work of searching for valid hashes, they can't decide and even don't know what goes into a block.
A miner can decide to apply different rules regarding the transactions it will put into a block (for example, it could favor SD transactions or completely ignore them) but this choice only has an effect on the blockchain when this miner happens to find a hash for its block before any other miner finds a hash for the blocks they are working on.
Onkel Paul