Jelly Bean added support for expandable status notification. According to http://developer.android.com/about/versions/jelly-bean.html:
In addition to the templated styles, you can create your own notification styles using any remote View.
How do do this? I believe to do this you need to create a custom Notification.Style. It's an abstract class so I it needs to be extended. I haven't been able to find any documentation on which parts need to be extended.
This SO question gives a good example of how to use the notificaiton.builder for basic notificaitons, I'm using this as a starting point. Adding
.setContent(new RemoteViews(getPackageName(), R.layout.notification))
adds a custom view for basic notifications, but it's not expandable.