To constrain (align) one label with another one, they must be siblings in the same view.
For example, within a tableView cell, you could:
What you can't do is constrain alignments between labels in two different views (because they don't share a common superview and there would be no way to express a relationship between them). That's why the option is greyed out when you select labels from differing views.
This would include one label in a cell, and another label outside the table, or even in a section header. A cell and a header are two different views within the view hierarchy.
The best you can do is to use the same (leading or trailing) margins for both your header labels and your cell labels, so the cell content coincidently happens to be vertically aligned (to the left or right edge of the header labels).
An alternative approach
Having said that, there are other ways to add a new row to a tableView, if you have decided to do it all within the same view controller.
For example, you could provide inline editing, where you insert a cell with editable item and price textFields, and let the user enter the new information directly into the cell itself.
Again, because the layout could use identical leading or trailing margins, it would be possible to have your content vertically aligned, between displayed content and input content.
This would be much simpler overall, as you could use a tableViewController, instead of a viewController with separate header and table views.