I have an application page that uses sharepoint people picker. I also have another sharepoint page that has what I called allContacts, which is a custom list with unique contacts. I want the people picker to look through this list instead of active directory or even both if possible.
Not possible (at least not by using some OOTB solution)
The simplest possible solution I can think of right now would be to create some custom merge web service. There you can merge results from AD and from your custom list. Second step is to use BDC to expose this 'new' data (web service) on SP. Then you can use BDC entity picker to browse data.
Overall not a simple task.
Maybe a similar problem/solution: How to show AD Contacts in the SP2010 people picker