Yes, you may change status to O-1 when in the U.S. if you qualify as an O-1 alien. This option is not available if you entered the U.S. without inspection or overstayed your authorized term of admission under the present status. Further, you may not change status in the U.S. if you are subject to the J-1 two-year foreign residency requirement and must obtain an O-1 visa at a U.S. Consulate overseas after the O-1 petition is approved.
Yes, you may change from J-1 to O-1 in the U.S. if you did not enter for graduate medical training, or if you entered in another J category and are either not subject to the two year home residency requirement or have received a waiver. If you are subject to Section 212(e) and have not received a waiver, or entered the U.S. for graduate medical training your employer can still submit a O-1 petition on your behalf. Once the petition is approved you must apply for the O-1 visa outside the U.S. and can enter the U.S. immediately without receiving a waiver or completing the 2 year home residency requirement.