"why routing protocol is defined under instance in L3vpn and why not define globally????"
The reason is that every route learned from the CE has to go into the vrf-table (<vrf-name>.inet.0) and not into the global table (inet.0) to keep routes separate from other VPNs (Customers)
a routing-instance (in this case vrf) consists of routing table(s), logical interfaces AND routing protocols
regards
alexander