What happened is that any reference to Item from the SelectedITemPrice portal row goes through inventory to the the related records in item. There is no method being used to select a a particular related item and, by default, the first related item--the first record in your unsorted, unfiltered portal, is the item that is set with the price from selected Item.
If the button in the item portal set a variable to the current portal row number, that value could be used to re-select the correct portal row after clicking a button in the selectedItemPrice portal:
Set Variable[$$Row ; value: Get ( ActivePortalRowNumber ) ]
Set Field[Inventory::SelectedItem; Item::ID]
Then the button in the SelectedItemPrice portal could perform this script:
Set Variable [$Price ; value: SelectedItemPrice::Price ]
Go to Object ["ItemPortalObjectNameGoesHere"]
Go to Portal Row [$$Row]
Set Field [Item::Price; $Price ]
You'll need to use the Name box in the Inspector's position tab to give the item portal an object name for this to work.