In section 3.3 of the GTP specification version2, draft 1, it is stated that id is an optional field of a command. It seems to me that requiring the id field would not only make parsing easier, it would also greatly simplify the work of a Go engine that plays multiple games simultaneously. I would suggest making id a required field if that does not cause major backward compatibility problems.
I doubt if this is going to get changed.
Could you explain more clearly what you have in mind?
It seems to me that you may not need this to be mandatory in the protocol.
Your scheme will probably require a specially designed client to sort out the multiple games. If this client always generates an id field, it won't hinder your scheme that the protocol doesn't mandate it.
Daniel Bump