EAV è un'opzione valida:può essere complesso e scomodo con quelli che diventano effettivamente dati non tipizzati.
XML con XPath sarebbe anche un'opzione: http://dev.mysql.com/tech-resources/articles/xml-in-mysql5.1-6.0.html
Penserei che la maggior parte dei casi richiederebbe la generazione di SQL dinamico se i campi da cercare possono variare.