Is there a miner with a controllable hashrate? Sometimes people don't want to mine at a full load due to various reasons (computer noise, hardware concerns, etc). Are there any miners out there in which one can set a hashrate limit? I know one can use -f and -s flags, but the amount of control they give is quite limited.
I suggest you run the miner at full load but decrease GPU core clock speed (GPU mem clock speed should always be reduced) and even more important GPU voltage.

Reducing GPU core clock speed should reduce power linearly. Also it allows you to decrease voltage further which reduces power quadratically. Doing so you can reduce noise dramatically.

If you use cgminer you can underclock and undervolt from within the program itself. If you use another miner you can use a program supplied by your graphic card's manufacturer (e.g. MSI Afterburner, atifonfig on linux) or a third party software such as AMDOverdriveCtrl (Linux). There is also my very own windows command line tool clocktweak (not free).