How can user that belongs to particular partition see only the values for the lookup that belong to that partition?
Portlets are not partition aware, so you should create a portlet for that specific partition in order for user to only see values specific to that partition in the static lookup.
How can I update an existing portlet which with created based on System partition to change to another partition?
1. XOG out the portlet using below input file, so you only have info for the portlet and not other stuff you don't need.
<?xml version="1.0" encoding="UTF-8"?>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header version="8.0" action="read" objectType="contentPack" externalSource="NIKU">
<args name="singleContentType" value="portlet"/>
<args name="no_dependencies" value="true"/>
<Filter name="code" criteria="EQUALS">test_part_it_ui</Filter>
2. After you get an output file you will have only 2 places where you need to change partition. I the example below "it" was the partition I needed to switch to from System.
A) dataProviderPartitionId="it" from dataProviderPartitionId="NIKU.ROOT"
B) partitionCode="it" from partitionCode="NIKU.ROOT"
3. Update objectCode="" from objectCode="5043015" which is actually the portlet id of your current portlet.
4. Changed porlet code to different one code="xyz" and changed name (i only did it for English language) <nls languageCode="en" name="Test Partition by XOG"/>
After that you should be able to XOG in new portlet pointing to IT partition.