There are (at least) two different ways to approach a case like this:
1) Construct omega as follows (no need to declare it with DefTensor):
omega[a_, b_] := k[a] k[b] / Scalar[k[c] k[-c]]
Then you can do computations simplifying with PutScalar and ToCanonical at the end:
In[6]:= omega[-a, -b] k[b] // PutScalar // ToCanonical
Out[6]= k[-a]
In[7]:=omega[-a, -b] omega[b, c] - omega[-a, c] // PutScalar // ToCanonical
Out[7]= 0
2) Or you can define a tensor Omega[-a, -b] and declare all its properties as upvalues:
DefTensor[Omega[-a, -b], M, Symmetric[{-a, -b}], PrintAs -> "\[Omega]"]
You can write the upvalues yourself, or you can use something like this to have xTensor write them for you:
AutomaticRules[Omega, MakeRule[{Omega[-a, -b] Omega[b, -c], Omega[-a, -c]}, MetricOn -> All]]
AutomaticRules[Omega, MakeRule[{Omega[-a, -b] k[b], k[-a]}, MetricOn -> All]]
Then you have:
In[11]:= Omega[-a, -b] k[b]
Out[11]= k[-a]
In[12]:= Omega[-a, -b] Omega[b, -c]
Out[12]= Omega[-a, -c]
Use one method or the other, but not both on the same object. I used different names omega and Omega to have the two methods on different objects.
Cheers,
Jose.