Steps to contact congressman/senator
1- first find out who serves your area.
2- Call their office and ask how they prefer to receive documents and requests for Federal Casework Inquiry. If they have their casework coordination offices in Washington DC then send fax to avoid delays
3- Fax/Mail them a letter explaining your situation (personal hardship, BSIC incompetence, you paying taxes for many years, law abiding contributor to your community, looking forward to become a voting citizen, blah blah blah)
4- Make sure you include all information: EAD #, Alien #, SSN, type of application, NAMES, Address with INS, when filed, RD, ND, RFE, Fingerprinting dates, etc, etc, anything and everything (politicians love documentation, so kill a few trees, it can only help)
5- ask them to "advise you on how to obtain the adjudication status of the application. You have contacted BCIS several times and the information on the website is very vague and estimates keep changing etc."
6- Do not ask them to help approve the application, because they dont do that. They are smart, they know what you are looking for, so they will use their "Political" means to pursuade the application process. Just be gentle and kind in your letter, write with a tear jerking tone, ask for advice
7- THIS IS VERY IMPORTANT: You have to write a PRIVACY disclaimer in your letter stating that you authorize their office to look into all aspects of your case and in accordance with the Privacy Act, you (SIGNED below) are authorising them the use of the included information you are providing to conduct any research necessary to research the status and processing information about your application" This will avoid you from writing another letter with signed authorization.
good luck.