OP_RETURN feature can be used to accompany a transaction with arbitrary data. A standard transaction can contain an
OP_RETURN output with up to 80 bytes of data (40 bytes prior to Bitcoin Core 0.11).
You could have a client that includes an
OP_RETURN output with every transaction, containing whatever meta data is desired (client software version, info about client settings, friendly greetings, Bible verses, etc).
However, since this would make each transaction larger, the users of this client software would on average pay higher transaction fees (depending on how often the extra data pushes your transaction past a 1 KB boundary, since the fee is per KB). Also, since every full node has to store the extra data forever, some people might consider this feature to be "unfriendly" to the block chain, even though it is legal in the protocol.
Given these tradeoffs, one would probably not implement such a feature without a pretty compelling reason to do so, beyond simple curiosity.