For your first question. I may suggest using a new window with a list layout. This window would be used in place of your popup and when the user selects an item it would close the window and place the value in your field.
For your second question. Do a search for "conditional value list" and you should come across many examples.
Here's a thread on setting up conditional value lists:
Custom Value List?
There's also a Knowledgebase article on the subject, I believe.
Here's and example of a search tool you might be able to adapt for searching large lists of records:
Here is an example of how to use a new window. You should be able to incorporate the technique into your solution after studying and understanding it.
Okay I figured out how to do the value list so I could automatically populate the fields in my portal. However I am having an issue with the portal, now when I pick the company ID# from my popup list I have to click outside the portal for my value fields in the portal show the correct information. Also the ID# field in the portal places the same number all the way done on each line. I can change the number and click outside the portal again and it will update but the new ID# will be placed in the remaining portal lines below.
It doesn't sound like the field you've formatted this way is part of the portal record. Check to make sure it's completely within the portal row and check to make sure that it's a field from the same table occurrence as that specified in Portal Setup...