Set the oven to broil. In a medium bowl, mix together the meatball ingredients. Mix well with your hands and roll into 1 inch balls. Lightly spray a baking sheet with cooking spray/oil. Transfer to the oven and broil for 4-5 minutes, or until lightly browned on the outside. It is okay if they are not cooked all the way.
For the sauce:
Select saute on the Instant Pot. Once hot, coat the bottom of the pot with oil, then toss in onion and garlic. Once fragrant and lightly browned, select cancel. Pour in the wine, vinegar, and water. Deglaze the pot with liquid and scrape the bottom with a spatula to remove any browned bits. This is to help prevent the burn signal. Add the whole and pureed tomatoes, and the salt. Give the mixture a stir.
Pierce the spaghetti squash numerous times with a fork. Place the whole squash on top of the spaghetti sauce. Place the meatballs around the squash, on top of the sauce.
Secure the lid with the steam vent in the sealed position. Select manual or pressure, and cook on high pressure for 25 minutes.
Use a quick release, ensureing the steam is released before removing the lid. Remove the spaghetti squash with tongs, and set aside to cool for about 10 minutes. Once cool, slice in half. Scoop out and discard the seeds, and use a fork to pull out spaghetti squash strands.
Pour the sauce and meatballs on top of the squash strands. Top with parmesan cheese (if using), fresh basil and additional salt to taste.