Does osql.exe lock tables while exporting?
osql.exe ( and sqlcmd.exe ) are just programs to send T-SQL commands to the engine.  Whether or not your tables will be blocked during your export will depend on what exactly it is you're doing to export them.  If you're running SELECT statements into a .csv with transaction isolation at no higher than the READ COMMITTED default level, you should only be able to encounter blocking on tables that include BLOB data ( like VARCHAR( MAX ), for instance ).  Of course, if you're just spitting out to .csv you might want to look at using bcp.exe instead anyway.

There will be locks placed on the tables regardless of how you're exporting the data ( Schema locks at least ), but those locks won't be an issue and cause blocking if you don't overdo your isolation level.  If you're doing a metadata only export, the locks will be placed on the metadata tables instead of the actual tables themselves.