There was a simple program for "p2p trading" called dark exchange that actually lacked an atomic trade method. I've been assuming that the rest would be simple all along.
Certainly it's not a problem to implement a simple version but there are many design options which can significantly affect characteristics.
High frequency trading requires fast response, i.e. you see an opportunity for arbitrage and you need to execute trade quickly, before market moves. With p2p trading it's hard to make sure that trades would be quick because it depends on your conter-party and on non-quite-reliable networking.
With slow and unreliable trade it's much more likely that bot will lose considerable amount money, so you have higher risks. So at some point certain types of bots become unpractical.
So it is not a problem but rather a potential feature: with faster trading bots will feel more comfortable.
Address can be used as an identifier, but color definition should include information about number of tokens issued (in most cases you do not want uncontrolled issuance), display name, identifier of corresponding contract etc.
Signed with pk1("these 200 satoshis that I move from pk1 at block X, represent 200 units of asset Y").
What if previously they represented something else, do they represent both these things now?
You can see a discussion about multi-colored coins here: https://bitcointalksearch.org/topic/m.1266454