1.) You can now schedule the individual panel specs, either for pricing, or refining numbers of different panel types. I've used this to verify that all my panels on a curved surface are identical in size, or within a certain tolerance. (for scheduling you will need to make the measurement parameters shared. There is an excellent tutorial by David Fano that shows how to set up shared parameters, although the tutorial is not exactly ABOUT shared parameters: http://designreform.net/2008/07/14/revit-using-tags-to-drive-instance-parameters/)
2.) Use the instance parameters to drive panel geometry. For instance, if an edge is very long, maybe the mullion is thicker, or the thickness of the panel extrusion could be tied to the panel size, wide panels are thick, small panels are thin.
A couple caveats: as far as I know this only works with quad panels. Also, it ONLY WORKS ON SINGLE SURFACES. That is, you can't use it with panels with extrusions, mullions, whatever. What the function does is simply measures the first four edges it finds, so if you have and extruded slab, it will measure one of the SIX faces that it runs into. Limited? Well, yes. But after measuring your simple flat panel and writing all the instance parameters, you can select all instances of the panel and replace with your fancier one, which keeps all the instance parameter changes. Welcome to the less than ideally BIMy world of the API. So try it first with the provided "basePanel.rfa" and then swap out the panel instances for something more interesting.
Download the dll, readme, and sample files from here. For a recap on how to install the dll, read this post.