Is there any way to use different InnoDB settings for different databases on the same server?
YOUR QUESTION
The reason there is no way to achieve this has to do with the InnoDB Architecture

There are three(3) things in this which makes different flushing behavior per database impossible

SINGLE BUFFER POOL
SINGLE LOG BUFFER
FUZZY CHECKPOINTING

These three(3) things work together. The log buffer flushes changes from the buffer pool into system tablespace files but there is no way to control how much or how little to flush from the log buffer and buffer pool (in more than one direction).
Look at a more sophisticated RDBMS : Oracle RAC. Scaling out Oracle RAC simply creates a log buffer per RAC Node to distribute writes to one or more servers that have the data files. You could probably unleash CHECKPOINT commands to flush the Log Buffer at a RAC Node. If you could, this would still not be wise (and your scenario impossible) because you cannot control which blocks are written to which RAC Node. Why? Even in a distributed architecture like Oracle RAC, you still have a single Data Dictionary. This is much more so the case with InnoDB when it comes to controlling changes and flushing of dirty pages.
Flushing databases differently puts the InnoDB Storage Engine at risk of losing all data integrity altogether.
ALTERNATIVE SOLUTION #1
Create another MySQL instance on port 3307 (or a different number other than 3306) on the same server. That second instance would have its own Log Buffer and its own Checkpointing. Using a separate my.cnf for the second instance, configure innodb_flush_log_at_trx_commit at your discretion since it will be independent of the first instance's flushing behavior.
ALTERNATIVE SOLUTION #2
Take the source code and implement multiples log buffers (each with a dedicated buffer pool), including a mechanism for tweeking the flushing of commits per log buffer (You'll be a millionaire in 2 years.
Give it a Try !!!