Is there a way to define connected apps w/o opening the UI? Has anyone already created apps like that? Any advice would be appreciated!!
You can use the Salesforce Metadata API to create a Connected App, it provides the ConnectedApp metadata type for this purpose. You can either use the File Based method or the CRUD method (preferable for programatic creation).
This API is available in any language supporting HTTP callouts using Web Services (Salesforce provides a WSDL to consume in your client app). If your using a Java, there is a prebuilt client library available here. There is also an Apex wrapper around the API if your interested in doing this natively.