1- Is it possible to integrate an SQL database as a structured DB for our Thingworx implementation?
Yes, either via using the SQL database as the persistence provider for Thingworx (i.e. Postgres or MSSQL Server), by using the JDBC connector extension (for any database with a JDBC driver) from the marketplace (ThingWorx IoT Marketplace) or by exposing an API layer on top of the database.
2- Is it possible to create our own SQL database structure, and make Thingworx use it accordingly?
Yes, see above; in this case you would use the JDBC driver approach
3- Can we create our own HTML web forms and integrate them with Thingworx ?
Yes, you can use the underlying REST APIs exposed by Thingworx in custom HTML web forms
4- Can we build our own APIs to push and pull from our SQL database (supposedly) serving as a structured DB for our Thingworxinstance?
Yes, this actually happens automatically as you create web services to query (or write commands) to your SQL database via the JDBC driver approach -- every query or command exposes a RESTful endpoint that you can then use. You could also write a custom API layer on top of your database and Thingworx could interact with that API.
5- Can we build our own reports (dashboards, Listing, Live reports) and use your functions and controls to inject them with data?
I'm not sure I see the difference between this and the HTML web form question? Could you clarify?