The best way to go about this is to create your own, inline Visualforce customization.
Using a standard controller and extension, You can write a pretty decent related list in no time.
If you want pagination, a good idea is to utilize the standard set controller: http://www.salesforce.com/us/developer/docs/pages/Content/apex_pages_standardsetcontroller.htm
For filtering and sorting, take a look at using jQuery, or perhaps Angular for client side sorting and filtering.
If you're implementing this for multiple types of objects, I would suggest utilizing a visualforce component, field sets, and custom settings to generalize your code, making it reusable.
As a caveat to the above, also keep in mind that related lists are always at the bottom of the page layout. Since you are developing a custom visualforce page, this will actually sit in a section above the rest of the related lists. Furthermore, you'll lose the standard bookmark link at the top of the detail page. You can use javascript hackery to put the link in place for your custom inline page. However, it is a lot of work and trial and error.
In this scenario, rather than creating some custom code to do that, have you considered just setting a Sort Order on the Status field to group all of your Active Contacts
at the top of your related list and push your Terminated Contacts
to the bottom of the list. On your page layout, there is a way to set your Sort By
field for your related list.
This should solve your problem with no coding needed.
Best Answer
There are many variations to the solution but here is one I've used (you could use CSS better than the nbsp; and the hardcoded styles - I just grabbed this from some existing VF page in my org)
You'll need a controller that
a) returns the list of related Opportunities in a getter for
givingOpportunities
b) has a setter for the
selectedOppoId
to be deletedc) has an Action Method
deleteOppo
that deletes the Opportunity that is something like this