i see complexity in moving NXT between the normal account and the special account.
Also the chance to end up with money in the wrong account at the wrong time.
Could this be done by implementing a reserved balance?
So I reserve 10 or 20% of my balance for 'instant transactions', this reserved balance is not available for normal transactions
I can create instant transactions against my 'reserved balance'
NXT checks the total of instant transactions broadcast against the reserved balance
If instant transaction balance >= reserved balance then no more instant transactions will be allowed.
If any instant transactions are outstanding confirmation then the reserved balance cannot be released so this cannot be used for other normal transactions.
If a forger rejects the instant transaction then the instant balance of course reduced.
Attack - the instance balance is updated on broadcast so you would have to spam nodes which did not get the broadcast and know which these were .... every time there is a broadcast the instant balance is updated so there is a small race window where a spammer would have to outpace the networks ability to update the instant balance.
That idea would simplify things for user. Maybe not for CfB, but I could live with that.
However, you should know that you changed the original process.
A user should reserve part of his account for instant transactions. 1/10 of THESE reserved NXT can only be spend within the 24 hours timeframe.