In general, the answer is no. Although it is possible to cancel a transaction by issuing a conflicting transaction which spends the same output, there is no guarantee as to which of the transactions will end up being confirmed by whoever builds the next block. Similarly, transaction ordering is the decision of whoever builds the blocks.