1) Servlet, jsp itself is an API and one can develop and deploy there own servlet/jsp web app. independent of any servlet container? Then why not there be a API for portlet container?
JSR168 is an API, just like Servlet and JSP.
You always need a Servlet container to deploy a Servlet/JSP app. In exactly the same way, you also need a portal server to deploy a portlet application. There really isn't any difference.
A JSR168 portlet can run on any portal server that supports JSR168 - which is pretty much every one: JetSpeed, Pluto, WebSphere, Liferay, OpenPortal, etc.
I'm not exactly sure what you want, but I have a feeling it's already there.
You can develop a portlet, and deploy it to any portal server. You don't need any knowledge of the portlet container to do this.